RE usability: live data for idle controller

This commit is contained in:
rusefillc 2022-01-10 21:56:27 -05:00
parent 699a5ef302
commit cca765ebe6
3 changed files with 37 additions and 28 deletions

View File

@ -14,6 +14,7 @@ public enum StateDictionary {
INSTANCE;
private final Map<live_data_e, Field[]> map = new HashMap<>();
private final Map<live_data_e, String> fileNames = new HashMap<>();
StateDictionary() {
//register(live_data_e.LDS_ETB_PID, PidState.VALUES); // 7
@ -22,20 +23,20 @@ public enum StateDictionary {
// LDS_CJ125_PID
//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);
register(live_data_e.LDS_engine_state, EngineState.VALUES, "engine.cpp"); // 3
register(live_data_e.LDS_trigger_central, TriggerCentral.VALUES, "trigger_central.cpp");
register(live_data_e.LDS_trigger_state, TriggerState.VALUES, "trigger_decoder.cpp"); // 11
register(live_data_e.LDS_ac_control, AcControl.VALUES, "ac_control.cpp"); // 12
register(live_data_e.LDS_fan_control, FuelPump.VALUES, "fan_control.cpp");
register(live_data_e.LDS_injector_model, InjectorModel.VALUES, "injector_model");
register(live_data_e.LDS_idle_state, IdleState.VALUES, "idle_thread.cpp");
register(live_data_e.LDS_fuel_pump, FuelPump.VALUES, "fuel_pump.cpp");
register(live_data_e.LDS_wall_fuel_state, WallFuelState.VALUES, "wall_fuel.cpp");
register(live_data_e.LDS_tps_accel_state, TpsAccelState.VALUES, "accel_enrichment.cpp");
register(live_data_e.LDS_main_relay, MainRelay.VALUES, "main_relay.cpp");
register(live_data_e.LDS_boost_control, BoostControl.VALUES, "boost_control.cpp");
register(live_data_e.LDS_launch_control_state, LaunchControl.VALUES, "launch_control.cpp");
register(live_data_e.LDS_high_pressure_fuel_pump, HighPressureFuelPump.VALUES, "high_pressure_fuel_pump.cpp");
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());
@ -43,15 +44,24 @@ public enum StateDictionary {
}
}
private void register(live_data_e ldsIndex, Field[] values) {
private void register(live_data_e ldsIndex, Field[] values, String fileName) {
map.put(ldsIndex, values);
fileNames.put(ldsIndex, fileName);
}
public String getFileName(live_data_e ldsIndex) {
String result = fileNames.get(ldsIndex);
if (result == null) {
throw new IllegalStateException("Nothing for " + ldsIndex);
}
return result;
}
@NotNull
public Field[] getFields(live_data_e indexFieldName) {
Field[] result = map.get(indexFieldName);
public Field[] getFields(live_data_e ldsIndex) {
Field[] result = map.get(ldsIndex);
if (result == null) {
throw new IllegalStateException("Nothing for " + indexFieldName);
throw new IllegalStateException("Nothing for " + ldsIndex);
}
return result;
}

View File

@ -1,6 +1,5 @@
package com.rusefi.ui.livedocs;
import com.rusefi.binaryprotocol.BinaryProtocol;
import com.rusefi.enums.live_data_e;
/**

View File

@ -10,23 +10,23 @@ import com.rusefi.ldmp.StateDictionary;
*/
public enum LiveDataView {
// 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"),
AC_CONTROL(live_data_e.LDS_ac_control, AcControl.VALUES),
FUEL_PUMP(live_data_e.LDS_fuel_pump, FuelPump.VALUES),
MAIN_RELAY(live_data_e.LDS_main_relay, MainRelay.VALUES),
TPS_ACCEL(live_data_e.LDS_tps_accel_state, TpsAccelState.VALUES),
BOOST_CONTROL(live_data_e.LDS_boost_control, BoostControl.VALUES),
LAUNCH_CONTROL(live_data_e.LDS_launch_control_state, LaunchControl.VALUES),
HIGH_PRESSURE(live_data_e.LDS_high_pressure_fuel_pump, HighPressureFuelPump.VALUES),
;
private final live_data_e liveDataE;
private final Field[] values;
private final String fileName;
LiveDataView(live_data_e liveDataE, Field[] values, String fileName) {
LiveDataView(live_data_e liveDataE, Field[] values) {
this.liveDataE = liveDataE;
this.values = values;
this.fileName = fileName;
this.fileName = StateDictionary.INSTANCE.getFileName(liveDataE);
}
public live_data_e getLiveDataE() {