mirror of https://github.com/FOME-Tech/fome-fw.git
Live Data progress
This commit is contained in:
parent
e7c28e685e
commit
ca6b7bba23
|
@ -190,35 +190,35 @@ static void handlePageSelectCommand(TsChannelBase *tsChannel, ts_response_format
|
||||||
|
|
||||||
static const void * getStructAddr(live_data_e structId) {
|
static const void * getStructAddr(live_data_e structId) {
|
||||||
switch (structId) {
|
switch (structId) {
|
||||||
case LDS_ENGINE:
|
case LDS_engine_state:
|
||||||
return static_cast<engine_state2_s*>(&engine->engineState);
|
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);
|
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);
|
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);
|
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());
|
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());
|
return static_cast<fuel_pump_control_s*>(&engine->module<FuelPumpController>().unmock());
|
||||||
#if EFI_ELECTRONIC_THROTTLE_BODY
|
//#if EFI_ELECTRONIC_THROTTLE_BODY
|
||||||
case LDS_ETB_PID:
|
// case LDS_ETB_PID:
|
||||||
return engine->etbControllers[0]->getPidState();
|
// return engine->etbControllers[0]->getPidState();
|
||||||
#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
|
//#endif /* EFI_ELECTRONIC_THROTTLE_BODY */
|
||||||
|
//
|
||||||
#ifndef EFI_IDLE_CONTROL
|
//#ifndef EFI_IDLE_CONTROL
|
||||||
case LDS_IDLE_PID:
|
// case LDS_IDLE_PID:
|
||||||
return static_cast<pid_state_s*>(getIdlePid());
|
// return static_cast<pid_state_s*>(getIdlePid());
|
||||||
#endif /* EFI_IDLE_CONTROL */
|
//#endif /* EFI_IDLE_CONTROL */
|
||||||
case LDS_IDLE:
|
case LDS_idle_state:
|
||||||
return static_cast<idle_state_s*>(&engine->idle);
|
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);
|
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());
|
return static_cast<main_relay_s*>(&engine->module<MainRelayController>().unmock());
|
||||||
#if EFI_BOOST_CONTROL
|
#if EFI_BOOST_CONTROL
|
||||||
case LDS_BOOST_CONTROL:
|
case LDS_boost_control:
|
||||||
return static_cast<boost_control_s*>(&engine->boostController);
|
return static_cast<boost_control_s*>(&engine->boostController);
|
||||||
#endif // EFI_BOOST_CONTROL
|
#endif // EFI_BOOST_CONTROL
|
||||||
default:
|
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
|
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; }
|
[ $? -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
|
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 {
|
public enum live_data_e {
|
||||||
LDS_SPEED_DENSITY,
|
LDS_high_pressure_fuel_pump,
|
||||||
LDS_ENGINE,
|
LDS_injector_model,
|
||||||
LDS_FUEL_TRIM,
|
LDS_launch_control_state,
|
||||||
LDS_TPS_TPS_ENRICHMENT,
|
LDS_boost_control,
|
||||||
LDS_TRIGGER_CENTRAL,
|
LDS_ac_control,
|
||||||
LDS_ETB_PID,
|
LDS_fan_control,
|
||||||
LDS_IDLE_PID,
|
LDS_fuel_pump,
|
||||||
LDS_TRIGGER_STATE,
|
LDS_main_relay,
|
||||||
LDS_AC_CONTROL,
|
LDS_engine_state,
|
||||||
LDS_FUEL_PUMP,
|
LDS_tps_accel_state,
|
||||||
LDS_IDLE,
|
LDS_trigger_central,
|
||||||
LDS_TPS_ACCEL,
|
LDS_trigger_state,
|
||||||
LDS_MAIN_RELAY,
|
LDS_wall_fuel_state,
|
||||||
LDS_BOOST_CONTROL,
|
LDS_idle_state,
|
||||||
LDS_LAUNCH_CONTROL,
|
|
||||||
LDS_HIGH_PRESSURE,
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,24 +16,26 @@ public enum StateDictionary {
|
||||||
private final Map<live_data_e, Field[]> map = new HashMap<>();
|
private final Map<live_data_e, Field[]> map = new HashMap<>();
|
||||||
|
|
||||||
StateDictionary() {
|
StateDictionary() {
|
||||||
register(live_data_e.LDS_SPEED_DENSITY, EngineState.VALUES); // 2
|
//register(live_data_e.LDS_ETB_PID, PidState.VALUES); // 7
|
||||||
register(live_data_e.LDS_ENGINE, EngineState.VALUES); // 3
|
//register(live_data_e.LDS_IDLE_PID, PidState.VALUES);
|
||||||
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_ALTERNATOR_PID,
|
//register(live_data_e.LDS_ALTERNATOR_PID,
|
||||||
// LDS_CJ125_PID
|
// LDS_CJ125_PID
|
||||||
register(live_data_e.LDS_IDLE, IdleState.VALUES);
|
//register(live_data_e.LDS_IDLE, IdleState.VALUES);
|
||||||
register(live_data_e.LDS_TRIGGER_STATE, TriggerState.VALUES); // 11
|
// todo: code generate this!
|
||||||
register(live_data_e.LDS_AC_CONTROL, AcControl.VALUES); // 12
|
register(live_data_e.LDS_engine_state, EngineState.VALUES); // 3
|
||||||
register(live_data_e.LDS_FUEL_PUMP, FuelPump.VALUES);
|
register(live_data_e.LDS_trigger_central, TriggerCentral.VALUES);
|
||||||
register(live_data_e.LDS_TPS_ACCEL, TpsAccelState.VALUES);
|
register(live_data_e.LDS_trigger_state, TriggerState.VALUES); // 11
|
||||||
register(live_data_e.LDS_MAIN_RELAY, MainRelay.VALUES);
|
register(live_data_e.LDS_ac_control, AcControl.VALUES); // 12
|
||||||
register(live_data_e.LDS_BOOST_CONTROL, BoostControl.VALUES);
|
register(live_data_e.LDS_fan_control, FuelPump.VALUES);
|
||||||
register(live_data_e.LDS_LAUNCH_CONTROL, LaunchControl.VALUES);
|
register(live_data_e.LDS_injector_model, InjectorModel.VALUES);
|
||||||
register(live_data_e.LDS_HIGH_PRESSURE, HighPressureFuelPump.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) {
|
if (map.size() != live_data_e.values().length) {
|
||||||
Set<live_data_e> missing = new HashSet<>(Arrays.asList(live_data_e.values()));
|
Set<live_data_e> missing = new HashSet<>(Arrays.asList(live_data_e.values()));
|
||||||
missing.removeAll(map.keySet());
|
missing.removeAll(map.keySet());
|
||||||
|
|
|
@ -7,6 +7,6 @@ public class StateDictionaryTest {
|
||||||
@Test
|
@Test
|
||||||
public void testStateDictionaryIsComplete() {
|
public void testStateDictionaryIsComplete() {
|
||||||
// we assert that this does not fail
|
// 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
|
* @see StateDictionary
|
||||||
*/
|
*/
|
||||||
public enum LiveDataView {
|
public enum LiveDataView {
|
||||||
AC_CONTROL(live_data_e.LDS_AC_CONTROL, AcControl.VALUES, "ac_control.cpp"),
|
// todo: code generate this part of the enum with some BEFORE/AFTER tag?
|
||||||
FUEL_PUMP(live_data_e.LDS_FUEL_PUMP, FuelPump.VALUES, "fuel_pump.cpp"),
|
AC_CONTROL(live_data_e.LDS_ac_control, AcControl.VALUES, "ac_control.cpp"),
|
||||||
MAIN_RELAY(live_data_e.LDS_MAIN_RELAY, MainRelay.VALUES, "main_relay.cpp"),
|
FUEL_PUMP(live_data_e.LDS_fuel_pump, FuelPump.VALUES, "fuel_pump.cpp"),
|
||||||
TPS_ACCEL(live_data_e.LDS_TPS_ACCEL, TpsAccelState.VALUES, "accel_enrichment.cpp"),
|
MAIN_RELAY(live_data_e.LDS_main_relay, MainRelay.VALUES, "main_relay.cpp"),
|
||||||
BOOST_CONTROL(live_data_e.LDS_BOOST_CONTROL, BoostControl.VALUES, "boost_control.cpp"),
|
TPS_ACCEL(live_data_e.LDS_tps_accel_state, TpsAccelState.VALUES, "accel_enrichment.cpp"),
|
||||||
LAUNCH_CONTROL(live_data_e.LDS_LAUNCH_CONTROL, LaunchControl.VALUES, "launch_control.cpp"),
|
BOOST_CONTROL(live_data_e.LDS_boost_control, BoostControl.VALUES, "boost_control.cpp"),
|
||||||
HIGH_PRESSURE(live_data_e.LDS_HIGH_PRESSURE, HighPressureFuelPump.VALUES, "high_pressure_fuel_pump.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;
|
private final live_data_e liveDataE;
|
||||||
|
@ -23,7 +24,6 @@ public enum LiveDataView {
|
||||||
private final String fileName;
|
private final String fileName;
|
||||||
|
|
||||||
LiveDataView(live_data_e liveDataE, Field[] values, String fileName) {
|
LiveDataView(live_data_e liveDataE, Field[] values, String fileName) {
|
||||||
|
|
||||||
this.liveDataE = liveDataE;
|
this.liveDataE = liveDataE;
|
||||||
this.values = values;
|
this.values = values;
|
||||||
this.fileName = fileName;
|
this.fileName = fileName;
|
||||||
|
|
Binary file not shown.
|
@ -6,6 +6,7 @@ import org.yaml.snakeyaml.Yaml;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -20,6 +21,11 @@ public class UsagesReader {
|
||||||
Yaml yaml = new Yaml();
|
Yaml yaml = new Yaml();
|
||||||
Map<String, Object> data = yaml.load(new FileReader(yamlFileName));
|
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");
|
Map<?, ?> liveDocs = (Map) data.get("Usages");
|
||||||
for (Map.Entry entry : liveDocs.entrySet()) {
|
for (Map.Entry entry : liveDocs.entrySet()) {
|
||||||
String name = (String) entry.getKey();
|
String name = (String) entry.getKey();
|
||||||
|
@ -41,6 +47,13 @@ public class UsagesReader {
|
||||||
ConfigDefinition.KEY_C_DESTINATION,
|
ConfigDefinition.KEY_C_DESTINATION,
|
||||||
folder + File.separator + name + "_generated.h"
|
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