mirror of https://github.com/rusefi/rusefi-1.git
Live Data progress
This commit is contained in:
parent
32086b58a8
commit
25ca48c408
|
@ -0,0 +1,19 @@
|
|||
// generated by gen_live_documentation.sh / UsagesReader.java
|
||||
#pragma once
|
||||
|
||||
typedef enum {
|
||||
LDS_high_pressure_fuel_pump,
|
||||
LDS_injector_model,
|
||||
LDS_launch_control_state,
|
||||
LDS_boost_control,
|
||||
LDS_ac_control,
|
||||
LDS_fan_control,
|
||||
LDS_fuel_pump,
|
||||
LDS_main_relay,
|
||||
LDS_engine_state,
|
||||
LDS_tps_accel_state,
|
||||
LDS_trigger_central,
|
||||
LDS_trigger_state,
|
||||
LDS_wall_fuel_state,
|
||||
LDS_idle_state,
|
||||
} live_data_e;
|
|
@ -190,35 +190,35 @@ static void handlePageSelectCommand(TsChannelBase *tsChannel, ts_response_format
|
|||
|
||||
static const void * getStructAddr(live_data_e structId) {
|
||||
switch (structId) {
|
||||
case LDS_ENGINE:
|
||||
case LDS_engine_state:
|
||||
return static_cast<engine_state2_s*>(&engine->engineState);
|
||||
case LDS_FUEL_TRIM:
|
||||
case LDS_wall_fuel_state:
|
||||
return static_cast<wall_fuel_state*>(&engine->injectionEvents.elements[0].wallFuel);
|
||||
case LDS_TRIGGER_CENTRAL:
|
||||
case LDS_trigger_central:
|
||||
return static_cast<trigger_central_s*>(&engine->triggerCentral);
|
||||
case LDS_TRIGGER_STATE:
|
||||
case LDS_trigger_state:
|
||||
return static_cast<trigger_state_s*>(&engine->triggerCentral.triggerState);
|
||||
case LDS_AC_CONTROL:
|
||||
case LDS_ac_control:
|
||||
return static_cast<ac_control_s*>(&engine->module<AcController>().unmock());
|
||||
case LDS_FUEL_PUMP:
|
||||
case LDS_fuel_pump:
|
||||
return static_cast<fuel_pump_control_s*>(&engine->module<FuelPumpController>().unmock());
|
||||
#if EFI_ELECTRONIC_THROTTLE_BODY
|
||||
case LDS_ETB_PID:
|
||||
return engine->etbControllers[0]->getPidState();
|
||||
#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
|
||||
|
||||
#ifndef EFI_IDLE_CONTROL
|
||||
case LDS_IDLE_PID:
|
||||
return static_cast<pid_state_s*>(getIdlePid());
|
||||
#endif /* EFI_IDLE_CONTROL */
|
||||
case LDS_IDLE:
|
||||
//#if EFI_ELECTRONIC_THROTTLE_BODY
|
||||
// case LDS_ETB_PID:
|
||||
// return engine->etbControllers[0]->getPidState();
|
||||
//#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
|
||||
//
|
||||
//#ifndef EFI_IDLE_CONTROL
|
||||
// case LDS_IDLE_PID:
|
||||
// return static_cast<pid_state_s*>(getIdlePid());
|
||||
//#endif /* EFI_IDLE_CONTROL */
|
||||
case LDS_idle_state:
|
||||
return static_cast<idle_state_s*>(&engine->idle);
|
||||
case LDS_TPS_ACCEL:
|
||||
case LDS_tps_accel_state:
|
||||
return static_cast<tps_accel_state_s*>(&engine->tpsAccelEnrichment);
|
||||
case LDS_MAIN_RELAY:
|
||||
case LDS_main_relay:
|
||||
return static_cast<main_relay_s*>(&engine->module<MainRelayController>().unmock());
|
||||
#if EFI_BOOST_CONTROL
|
||||
case LDS_BOOST_CONTROL:
|
||||
case LDS_boost_control:
|
||||
return static_cast<boost_control_s*>(&engine->boostController);
|
||||
#endif // EFI_BOOST_CONTROL
|
||||
default:
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
/**
|
||||
* @file live_data_ids.h
|
||||
*
|
||||
* Live Documentation Structure
|
||||
* these indexes are used by custom protocol command TS_GET_STRUCT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
typedef enum {
|
||||
LDS_SPEED_DENSITY,
|
||||
LDS_ENGINE,
|
||||
LDS_FUEL_TRIM,
|
||||
LDS_TPS_TPS_ENRICHMENT,
|
||||
LDS_TRIGGER_CENTRAL,
|
||||
LDS_ETB_PID,
|
||||
LDS_IDLE_PID,
|
||||
//LDS_ALTERNATOR_PID,
|
||||
//LDS_CJ125_PID,
|
||||
LDS_TRIGGER_STATE,
|
||||
LDS_AC_CONTROL,
|
||||
LDS_FUEL_PUMP,
|
||||
LDS_IDLE,
|
||||
LDS_TPS_ACCEL,
|
||||
LDS_MAIN_RELAY,
|
||||
LDS_BOOST_CONTROL,
|
||||
LDS_LAUNCH_CONTROL,
|
||||
LDS_HIGH_PRESSURE,
|
||||
} live_data_e;
|
|
@ -4,7 +4,7 @@ echo "This batch files reads rusefi_enums.h and produces auto_generated_enums.*
|
|||
|
||||
rm gen_enum_to_string.log
|
||||
|
||||
java -DSystemOut.name=logs/gen_java_enum -cp ../java_tools/enum2string.jar com.rusefi.ToJavaEnum -enumInputFile controllers/algo/live_data_ids.h -outputPath ../java_console/io/src/main/java/com/rusefi/enums
|
||||
java -DSystemOut.name=logs/gen_java_enum -cp ../java_tools/enum2string.jar com.rusefi.ToJavaEnum -enumInputFile console/binary/generated/live_data_ids.h -outputPath ../java_console/io/src/main/java/com/rusefi/enums
|
||||
[ $? -eq 0 ] || { echo "ERROR generating live data ids"; exit 1; }
|
||||
|
||||
java -DSystemOut.name=logs/gen_java_enum -cp ../java_tools/enum2string.jar com.rusefi.ToJavaEnum -enumInputFile controllers/sensors/sensor_type.h -outputPath ../java_console/io/src/main/java/com/rusefi/enums
|
||||
|
|
|
@ -4,20 +4,18 @@ package com.rusefi.enums;
|
|||
|
||||
|
||||
public enum live_data_e {
|
||||
LDS_SPEED_DENSITY,
|
||||
LDS_ENGINE,
|
||||
LDS_FUEL_TRIM,
|
||||
LDS_TPS_TPS_ENRICHMENT,
|
||||
LDS_TRIGGER_CENTRAL,
|
||||
LDS_ETB_PID,
|
||||
LDS_IDLE_PID,
|
||||
LDS_TRIGGER_STATE,
|
||||
LDS_AC_CONTROL,
|
||||
LDS_FUEL_PUMP,
|
||||
LDS_IDLE,
|
||||
LDS_TPS_ACCEL,
|
||||
LDS_MAIN_RELAY,
|
||||
LDS_BOOST_CONTROL,
|
||||
LDS_LAUNCH_CONTROL,
|
||||
LDS_HIGH_PRESSURE,
|
||||
LDS_high_pressure_fuel_pump,
|
||||
LDS_injector_model,
|
||||
LDS_launch_control_state,
|
||||
LDS_boost_control,
|
||||
LDS_ac_control,
|
||||
LDS_fan_control,
|
||||
LDS_fuel_pump,
|
||||
LDS_main_relay,
|
||||
LDS_engine_state,
|
||||
LDS_tps_accel_state,
|
||||
LDS_trigger_central,
|
||||
LDS_trigger_state,
|
||||
LDS_wall_fuel_state,
|
||||
LDS_idle_state,
|
||||
}
|
||||
|
|
|
@ -16,24 +16,26 @@ public enum StateDictionary {
|
|||
private final Map<live_data_e, Field[]> map = new HashMap<>();
|
||||
|
||||
StateDictionary() {
|
||||
register(live_data_e.LDS_SPEED_DENSITY, EngineState.VALUES); // 2
|
||||
register(live_data_e.LDS_ENGINE, EngineState.VALUES); // 3
|
||||
register(live_data_e.LDS_FUEL_TRIM, EngineState.VALUES);
|
||||
register(live_data_e.LDS_TPS_TPS_ENRICHMENT, EngineState.VALUES); // 5
|
||||
register(live_data_e.LDS_TRIGGER_CENTRAL, TriggerCentral.VALUES);
|
||||
register(live_data_e.LDS_ETB_PID, PidState.VALUES); // 7
|
||||
register(live_data_e.LDS_IDLE_PID, PidState.VALUES);
|
||||
//register(live_data_e.LDS_ETB_PID, PidState.VALUES); // 7
|
||||
//register(live_data_e.LDS_IDLE_PID, PidState.VALUES);
|
||||
//register(live_data_e.LDS_ALTERNATOR_PID,
|
||||
// LDS_CJ125_PID
|
||||
register(live_data_e.LDS_IDLE, IdleState.VALUES);
|
||||
register(live_data_e.LDS_TRIGGER_STATE, TriggerState.VALUES); // 11
|
||||
register(live_data_e.LDS_AC_CONTROL, AcControl.VALUES); // 12
|
||||
register(live_data_e.LDS_FUEL_PUMP, FuelPump.VALUES);
|
||||
register(live_data_e.LDS_TPS_ACCEL, TpsAccelState.VALUES);
|
||||
register(live_data_e.LDS_MAIN_RELAY, MainRelay.VALUES);
|
||||
register(live_data_e.LDS_BOOST_CONTROL, BoostControl.VALUES);
|
||||
register(live_data_e.LDS_LAUNCH_CONTROL, LaunchControl.VALUES);
|
||||
register(live_data_e.LDS_HIGH_PRESSURE, HighPressureFuelPump.VALUES);
|
||||
//register(live_data_e.LDS_IDLE, IdleState.VALUES);
|
||||
// todo: code generate this!
|
||||
register(live_data_e.LDS_engine_state, EngineState.VALUES); // 3
|
||||
register(live_data_e.LDS_trigger_central, TriggerCentral.VALUES);
|
||||
register(live_data_e.LDS_trigger_state, TriggerState.VALUES); // 11
|
||||
register(live_data_e.LDS_ac_control, AcControl.VALUES); // 12
|
||||
register(live_data_e.LDS_fan_control, FuelPump.VALUES);
|
||||
register(live_data_e.LDS_injector_model, InjectorModel.VALUES);
|
||||
register(live_data_e.LDS_idle_state, IdleState.VALUES);
|
||||
register(live_data_e.LDS_fuel_pump, FuelPump.VALUES);
|
||||
register(live_data_e.LDS_wall_fuel_state, WallFuelState.VALUES);
|
||||
register(live_data_e.LDS_tps_accel_state, TpsAccelState.VALUES);
|
||||
register(live_data_e.LDS_main_relay, MainRelay.VALUES);
|
||||
register(live_data_e.LDS_boost_control, BoostControl.VALUES);
|
||||
register(live_data_e.LDS_launch_control_state, LaunchControl.VALUES);
|
||||
register(live_data_e.LDS_high_pressure_fuel_pump, HighPressureFuelPump.VALUES);
|
||||
if (map.size() != live_data_e.values().length) {
|
||||
Set<live_data_e> missing = new HashSet<>(Arrays.asList(live_data_e.values()));
|
||||
missing.removeAll(map.keySet());
|
||||
|
|
|
@ -7,6 +7,6 @@ public class StateDictionaryTest {
|
|||
@Test
|
||||
public void testStateDictionaryIsComplete() {
|
||||
// we assert that this does not fail
|
||||
StateDictionary.INSTANCE.getFields(live_data_e.LDS_AC_CONTROL);
|
||||
StateDictionary.INSTANCE.getFields(live_data_e.LDS_ac_control);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,13 +9,14 @@ import com.rusefi.ldmp.StateDictionary;
|
|||
* @see StateDictionary
|
||||
*/
|
||||
public enum LiveDataView {
|
||||
AC_CONTROL(live_data_e.LDS_AC_CONTROL, AcControl.VALUES, "ac_control.cpp"),
|
||||
FUEL_PUMP(live_data_e.LDS_FUEL_PUMP, FuelPump.VALUES, "fuel_pump.cpp"),
|
||||
MAIN_RELAY(live_data_e.LDS_MAIN_RELAY, MainRelay.VALUES, "main_relay.cpp"),
|
||||
TPS_ACCEL(live_data_e.LDS_TPS_ACCEL, TpsAccelState.VALUES, "accel_enrichment.cpp"),
|
||||
BOOST_CONTROL(live_data_e.LDS_BOOST_CONTROL, BoostControl.VALUES, "boost_control.cpp"),
|
||||
LAUNCH_CONTROL(live_data_e.LDS_LAUNCH_CONTROL, LaunchControl.VALUES, "launch_control.cpp"),
|
||||
HIGH_PRESSURE(live_data_e.LDS_HIGH_PRESSURE, HighPressureFuelPump.VALUES, "high_pressure_fuel_pump.cpp"),
|
||||
// todo: code generate this part of the enum with some BEFORE/AFTER tag?
|
||||
AC_CONTROL(live_data_e.LDS_ac_control, AcControl.VALUES, "ac_control.cpp"),
|
||||
FUEL_PUMP(live_data_e.LDS_fuel_pump, FuelPump.VALUES, "fuel_pump.cpp"),
|
||||
MAIN_RELAY(live_data_e.LDS_main_relay, MainRelay.VALUES, "main_relay.cpp"),
|
||||
TPS_ACCEL(live_data_e.LDS_tps_accel_state, TpsAccelState.VALUES, "accel_enrichment.cpp"),
|
||||
BOOST_CONTROL(live_data_e.LDS_boost_control, BoostControl.VALUES, "boost_control.cpp"),
|
||||
LAUNCH_CONTROL(live_data_e.LDS_launch_control_state, LaunchControl.VALUES, "launch_control.cpp"),
|
||||
HIGH_PRESSURE(live_data_e.LDS_high_pressure_fuel_pump, HighPressureFuelPump.VALUES, "high_pressure_fuel_pump.cpp"),
|
||||
;
|
||||
|
||||
private final live_data_e liveDataE;
|
||||
|
@ -23,7 +24,6 @@ public enum LiveDataView {
|
|||
private final String fileName;
|
||||
|
||||
LiveDataView(live_data_e liveDataE, Field[] values, String fileName) {
|
||||
|
||||
this.liveDataE = liveDataE;
|
||||
this.values = values;
|
||||
this.fileName = fileName;
|
||||
|
|
Binary file not shown.
|
@ -6,6 +6,7 @@ import org.yaml.snakeyaml.Yaml;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -20,6 +21,11 @@ public class UsagesReader {
|
|||
Yaml yaml = new Yaml();
|
||||
Map<String, Object> data = yaml.load(new FileReader(yamlFileName));
|
||||
|
||||
StringBuilder enumContent = new StringBuilder("// generated by gen_live_documentation.sh / UsagesReader.java\n" +
|
||||
"#pragma once\n" +
|
||||
"\n" +
|
||||
"typedef enum {\n");
|
||||
|
||||
Map<?, ?> liveDocs = (Map) data.get("Usages");
|
||||
for (Map.Entry entry : liveDocs.entrySet()) {
|
||||
String name = (String) entry.getKey();
|
||||
|
@ -41,6 +47,13 @@ public class UsagesReader {
|
|||
ConfigDefinition.KEY_C_DESTINATION,
|
||||
folder + File.separator + name + "_generated.h"
|
||||
});
|
||||
|
||||
enumContent.append("LDS_" + name + ",\n");
|
||||
}
|
||||
enumContent.append("} live_data_e;\n");
|
||||
|
||||
try (FileWriter fw = new FileWriter("console/binary/generated/live_data_ids.h")) {
|
||||
fw.write(enumContent.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue