rusefi/firmware/integration/LiveData.yaml

185 lines
5.4 KiB
YAML

#
# Here we facilitate monitoring by exposing model/transfer object of each individual controller. While some entries are only
# useful for monitoring the big idea is to bring calculation and monitoring as close to each other as possible by exposing
# many calculation fields directly
#
# here we have LiveData configuration file
# entry format, where 'key' is a unique ID:
# key: [NameOfJavaToGenerate.java, folder_where_key.txt_is located, (optional advanced options)]
# Naming convention: top level struct in .txt file should be called key_s
# at the moment new line would need to be added into StateDictionary.java manually todo: Add code generation of StateDictionary.java
#
# see gen_live_documentation.sh which is the main generation script
#
Usages:
# output_channels always goes first at least because it has protocol version at well-known offset
- name: output_channels
cppFileName: status_loop
java: TsOutputs.java
folder: console/binary
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->outputChannels"
- name: fuel_computer
java: FuelComputer.java
folder: controllers/algo/fuel
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->fuelComputer"
conditional_compilation: "EFI_ENGINE_CONTROL"
- name: ignition_state
cppFileName: advance_map
java: IgnitionState.java
folder: controllers/algo
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->ignitionState"
- name: knock_controller
java: KnockController.java
folder: controllers/engine_cycle
prepend: integration/rusefi_config_shared.txt
output_name: knock
- name: throttle_model
java: ThrottleModel.java
folder: controllers/math
output_name: throttle_model
- name: high_pressure_fuel_pump
java: HighPressureFuelPump.java
folder: controllers/engine_cycle
output_name: hpfp
- name: injector_model
java: InjectorModel.java
folder: controllers/algo/fuel
prepend: integration/rusefi_config_shared.txt
- name: launch_control_state
cppFileName: launch_control
java: LaunchControl.java
folder: controllers/algo
- name: antilag_system_state
cppFileName: antilag_system
java: AntilagSystem.java
folder: controllers/algo
prepend: integration/rusefi_config_shared.txt
output_name: als
- name: boost_control
java: BoostControl.java
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
output_name: boost
constexpr: "engine->boostController"
conditional_compilation: "EFI_BOOST_CONTROL"
- name: ac_control
java: AcControl.java
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
output_name: ac
engineModule: AcController
- name: fan_control
java: FanControl.java
folder: controllers/actuators
output_name: [ "fan1", "fan2" ]
- name: fuel_pump_control
cppFileName: fuel_pump
java: FuelPump.java
folder: controllers/actuators
output_name: fuelPump
engineModule: FuelPumpController
- name: main_relay
java: MainRelay.java
folder: controllers/actuators
output_name: mainRelay
#todo: handle ETB pid and Idle pid which point at same pid_state.txt
# - name: pid_state
# java: PidState.java
# folder: util/math
- name: engine_state
cppFileName: engine
java: EngineState.java
folder: controllers/algo
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->engineState"
- name: tps_accel_state
cppFileName: accel_enrichment
java: TpsAccelState.java
folder: controllers/algo
prepend: integration/rusefi_config_shared.txt
- name: trigger_central
java: TriggerCentral.java
folder: controllers/trigger
withCDefines: true
# something special about 'error: "ts_show_vbatt" redefined'' why is trigger.h special?
# prepend: integration/rusefi_config.txt
constexpr: "engine->triggerCentral"
conditional_compilation: "EFI_SHAFT_POSITION_INPUT"
- name: trigger_state
cppFileName: trigger_decoder
java: TriggerState.java
folder: controllers/trigger
prepend: integration/rusefi_config_shared.txt
output_name: [ "trg", "vvt1i", "vvt1e", "vvt2i", "vvt2e" ]
- name: trigger_state_primary
cppFileName: trigger_decoder
java: TriggerStatePrimary.java
folder: controllers/trigger
prepend: integration/rusefi_config_shared.txt
- name: wall_fuel_state
cppFileName: wall_fuel
java: WallFuelState.java
folder: controllers/algo
- name: idle_state
cppFileName: idle_thread
java: IdleState.java
folder: controllers/actuators
output_name: idle
- name: electronic_throttle
java: ElectronicThrottle.java
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
output_name: [ "etb1", "etb2" ]
- name: wideband_state
cppFileName: AemXSeriesLambda
java: WidebandController.java
folder: controllers/sensors/
output_name: [ "wb1", "wb2" ]
- name: dc_motors
java: DcMotors.java
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->dc_motors"
- name: sent_state
cppFileName: sent
java: SentState.java
folder: controllers/sensors
prepend: integration/rusefi_config_shared.txt
- name: vvt
java: VvtState.java
folder: controllers/actuators
- name: lambda_monitor
java: LambdaMonitor.java
folder: controllers/math
constexpr: "___engine.lambdaMonitor"