fome-fw/firmware/integration/LiveData.yaml

153 lines
4.6 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
# todo: what is sequence of events in terms of 'live_data_e' code generation?
#
Usages:
# output_channels always goes first at least because it has protocol version at well-known offset
- name: output_channels
java: TsOutputs.java
folder: console/binary
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->outputChannels"
- name: fuel_computer
folder: controllers/algo/fuel
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->fuelComputer"
- name: ignition_state
folder: controllers/algo
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->ignitionState"
- name: knock_controller
folder: controllers/engine_cycle
prepend: integration/rusefi_config_shared.txt
output_name: knock
constexpr: "___engine.module<KnockController>()"
isPtr: true
- name: high_pressure_fuel_pump
folder: controllers/engine_cycle
output_name: hpfp
- name: injector_model
folder: controllers/algo/fuel
prepend: integration/rusefi_config_shared.txt
# constexpr: "___engine.module<InjectorModel>()"
# isPtr: true
- name: launch_control_state
folder: controllers/algo
- name: antilag_system_state
folder: controllers/algo
prepend: integration/rusefi_config_shared.txt
output_name: als
- name: boost_control
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
output_name: boost
constexpr: "___engine.module<BoostController>()"
isPtr: true
conditional_compilation: "EFI_BOOST_CONTROL"
- name: ac_control
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
output_name: ac
- name: fan_control
folder: controllers/actuators
output_name: [ "fan1", "fan2" ]
constexpr: "___engine.module<FanControl1>()"
isPtr: true
- name: fuel_pump_control
folder: controllers/actuators
output_name: fuelPump
- name: main_relay
folder: controllers/actuators
output_name: mainRelay
#todo: handle ETB pid and Idle pid which point at same pid_state.txt
# - name: pid_state
# folder: util/math
- name: engine_state
folder: controllers/algo
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->engineState"
- name: tps_accel_state
folder: controllers/algo
prepend: integration/rusefi_config_shared.txt
- name: trigger_central
folder: controllers/trigger
withCDefines: true
constexpr: "engine->triggerCentral"
prepend: integration/rusefi_config_shared.txt
conditional_compilation: "EFI_SHAFT_POSITION_INPUT"
- name: trigger_state
folder: controllers/trigger
prepend: integration/rusefi_config_shared.txt
output_name: [ "trg", "vvt1i", "vvt1e", "vvt2i", "vvt2e" ]
- name: trigger_state_primary
folder: controllers/trigger
prepend: integration/rusefi_config_shared.txt
- name: wall_fuel_state
folder: controllers/algo
- name: idle_state
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
output_name: idle
- name: electronic_throttle
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
output_name: [ "etb1", "etb2" ]
- name: wideband_state
folder: controllers/sensors/
output_name: [ "wb1", "wb2" ]
- name: dc_motors
folder: controllers/actuators
prepend: integration/rusefi_config_shared.txt
constexpr: "engine->dc_motors"
- name: sent_state
folder: controllers/sensors
prepend: integration/rusefi_config_shared.txt
- name: throttle_model
folder: controllers/math
output_name: throttle_model
- name: vvt
folder: controllers/actuators
constexpr: "___engine.module<VvtController1>()"
isPtr: true
conditional_compilation: "EFI_VVT_PID"
- name: lambda_monitor
folder: controllers/math
constexpr: "___engine.lambdaMonitor"