fome-fw/firmware/controllers/algo/engine_state_generated.h

444 lines
8.3 KiB
C
Raw Normal View History

2022-11-05 17:28:03 -07:00
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/engine_state.txt Sun Nov 06 00:27:04 UTC 2022
// by class com.rusefi.output.CHeaderConsumer
// begin
2020-07-05 23:07:22 -07:00
#pragma once
#include "rusefi_types.h"
// start of LuaAdjustments
struct LuaAdjustments {
/**
* offset 0
*/
float fuelAdd = (float)0;
/**
2022-06-30 10:53:57 -07:00
* offset 4
*/
float fuelMult = (float)0;
/**
offset 8 bit 0 */
bool clutchUpState : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 1 */
bool brakePedalState : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 2 */
2022-07-07 21:45:52 -07:00
bool acRequestState : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 3 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_3 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 4 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_4 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 5 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_5 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 6 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_6 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 7 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_7 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 8 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_8 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 9 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_9 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 10 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_10 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 11 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_11 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 12 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_12 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 13 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_13 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 14 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_14 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 15 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_15 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 16 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_16 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 17 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_17 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 18 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_18 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 19 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_19 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 20 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_20 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 21 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_21 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 22 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_22 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 23 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_23 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 24 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_24 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 25 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_25 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 26 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_26 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 27 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_27 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 28 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_28 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 29 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_29 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 30 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_30 : 1 {};
/**
2022-06-30 10:53:57 -07:00
offset 8 bit 31 */
2022-07-07 21:45:52 -07:00
bool unusedBit_5_31 : 1 {};
};
2022-06-30 10:53:57 -07:00
static_assert(sizeof(LuaAdjustments) == 12);
// start of speed_density_s
struct speed_density_s {
/**
* speed density
* Rate-of-change limiter is applied to degrees, so we store both Kelvin and degrees.
* offset 0
*/
2019-07-21 14:06:16 -07:00
float tCharge = (float)0;
/**
* offset 4
*/
2019-07-21 14:06:16 -07:00
float tChargeK = (float)0;
/**
* offset 8
*/
2019-07-21 14:06:16 -07:00
floatms_t airFlow = (floatms_t)0;
};
static_assert(sizeof(speed_density_s) == 12);
2019-08-26 20:41:04 -07:00
// start of cranking_fuel_s
struct cranking_fuel_s {
/**
2022-11-01 14:00:55 -07:00
* Fuel: base duration
2019-08-26 20:41:04 -07:00
* Duration of injection, in ms. During cranking we do not account for injector flow, so if you change injectors you would need to change settings.
* Deprecated. Please use '1'.
* TODO: maybe account for injector flow?
* offset 0
*/
floatms_t baseFuel = (floatms_t)0;
/**
* offset 4
*/
float coolantTemperatureCoefficient = (float)0;
/**
* offset 8
*/
float tpsCoefficient = (float)0;
/**
* offset 12
*/
float durationCoefficient = (float)0;
/**
2022-11-01 14:00:55 -07:00
* Fuel: Actual injection
* duration based on all coefficients.
2019-08-26 20:41:04 -07:00
* offset 16
*/
floatms_t fuel = (floatms_t)0;
};
2022-04-17 13:30:07 -07:00
static_assert(sizeof(cranking_fuel_s) == 20);
2019-08-26 20:41:04 -07:00
// start of running_fuel_s
struct running_fuel_s {
/**
* offset 0
*/
float postCrankingFuelCorrection = (float)0;
/**
2022-09-03 14:35:26 -07:00
* @@GAUGE_NAME_FUEL_IAT_CORR@@
2019-08-26 20:41:04 -07:00
* offset 4
*/
float intakeTemperatureCoefficient = (float)0;
/**
2022-09-03 14:35:26 -07:00
* @@GAUGE_NAME_FUEL_CLT_CORR@@
2019-08-26 20:41:04 -07:00
* offset 8
*/
float coolantTemperatureCoefficient = (float)0;
/**
* offset 12
*/
float timeSinceCrankingInSecs = (float)0;
/**
* offset 16
*/
2019-08-27 21:29:55 -07:00
floatms_t baseFuel = (floatms_t)0;
2019-08-26 20:41:04 -07:00
/**
2022-11-01 14:00:55 -07:00
* Fuel: actual
2019-08-26 20:41:04 -07:00
* Actual injection duration with CLT, IAT and TPS acceleration corrections per cycle, as squirt duration.
* Without injector lag.
* @see baseFuel
* @see actualLastInjection
2022-09-01 08:03:34 -07:00
* offset 20
2019-08-26 20:41:04 -07:00
*/
floatms_t fuel = (floatms_t)0;
};
2022-09-01 08:03:34 -07:00
static_assert(sizeof(running_fuel_s) == 24);
2019-08-26 20:41:04 -07:00
// start of engine_state_s
struct engine_state_s {
/**
* offset 0
*/
LuaAdjustments lua;
/**
2022-06-30 10:53:57 -07:00
* offset 12
*/
speed_density_s sd;
2019-06-17 18:37:11 -07:00
/**
* offset 24
2019-06-17 18:37:11 -07:00
*/
2019-07-21 14:06:16 -07:00
float engineCycleDurationMs = (float)0;
/**
* offset 28
*/
2019-07-21 14:06:16 -07:00
float minRpmKcurrentTPS = (float)0;
/**
* offset 32
*/
2022-10-28 01:36:50 -07:00
uint32_t currentTpsAdc = (uint32_t)0;
/**
* offset 36
*/
2019-07-21 14:06:16 -07:00
float tpsVoltageMCU = (float)0;
/**
* offset 40
*/
2019-07-21 14:06:16 -07:00
float tpsVoltageBoard = (float)0;
/**
* offset 44
*/
2019-07-21 14:06:16 -07:00
float currentBaroCorrectedVE = (float)0;
2019-08-26 20:41:04 -07:00
/**
* offset 48
2019-08-26 20:41:04 -07:00
*/
float injectorFlowCorrection = (float)0;
/**
2022-09-03 14:35:26 -07:00
* @@GAUGE_NAME_FUEL_BARO_CORR@@
* offset 52
*/
2019-08-26 20:41:04 -07:00
float baroCorrection = (float)0;
/**
* offset 56
2019-08-26 20:41:04 -07:00
*/
2022-11-02 19:21:44 -07:00
cranking_fuel_s crankingFuel;
2019-08-26 20:41:04 -07:00
/**
* offset 76
2019-08-26 20:41:04 -07:00
*/
running_fuel_s running;
/**
* ignition dwell duration in ms
* See also dwellAngle
* offset 100
*/
floatms_t sparkDwell = (floatms_t)0;
/**
2022-11-01 14:00:55 -07:00
* ignition dwell duration
* as crankshaft angle
* NAN if engine is stopped
* See also sparkDwell
* offset 104
*/
angle_t dwellAngle = (angle_t)0;
/**
2022-06-28 23:06:27 -07:00
deg
* offset 108
*/
2022-06-28 23:06:27 -07:00
scaled_channel<int16_t, 100, 1> cltTimingCorrection = (int16_t)0;
2022-06-28 22:23:15 -07:00
/**
2022-06-28 23:06:27 -07:00
deg
* offset 110
2022-06-28 23:06:27 -07:00
*/
scaled_channel<int16_t, 100, 1> timingIatCorrection = (int16_t)0;
/**
deg
* offset 112
2022-06-28 22:23:15 -07:00
*/
2022-06-28 23:06:27 -07:00
scaled_channel<int16_t, 100, 1> timingPidCorrection = (int16_t)0;
2022-06-28 22:23:15 -07:00
/**
2022-06-29 15:16:13 -07:00
* Detected Board ID
2022-06-28 23:06:27 -07:00
id
* offset 114
2022-06-28 22:23:15 -07:00
*/
2022-06-28 23:06:27 -07:00
int16_t hellenBoardId = (int16_t)0;
2022-06-28 23:21:31 -07:00
/**
* @@INDICATOR_NAME_CLUTCH_UP@@
offset 116 bit 0 */
bool clutchUpState : 1 {};
2022-06-28 23:21:31 -07:00
/**
* @@INDICATOR_NAME_CLUTCH_DOWN@@
offset 116 bit 1 */
bool clutchDownState : 1 {};
2022-06-28 23:21:31 -07:00
/**
* @@INDICATOR_NAME_BRAKE_DOWN@@
offset 116 bit 2 */
bool brakePedalState : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 3 */
2022-10-06 16:24:19 -07:00
bool startStopState : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 4 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_4 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 5 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_5 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 6 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_6 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 7 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_7 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 8 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_8 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 9 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_9 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 10 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_10 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 11 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_11 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 12 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_12 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 13 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_13 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 14 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_14 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 15 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_15 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 16 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_16 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 17 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_17 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 18 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_18 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 19 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_19 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 20 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_20 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 21 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_21 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 22 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_22 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 23 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_23 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 24 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_24 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 25 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_25 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 26 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_26 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 27 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_27 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 28 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_28 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 29 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_29 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 30 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_30 : 1 {};
2022-06-28 23:21:31 -07:00
/**
offset 116 bit 31 */
2022-10-06 16:24:19 -07:00
bool unusedBit_22_31 : 1 {};
2022-08-22 08:19:58 -07:00
/**
* offset 120
2022-08-22 08:19:58 -07:00
*/
2022-10-28 01:36:50 -07:00
uint32_t startStopStateToggleCounter = (uint32_t)0;
2022-08-22 08:19:58 -07:00
/**
* offset 124
2022-08-22 08:19:58 -07:00
*/
2022-11-02 19:21:44 -07:00
float egtValue1 = (float)0;
2022-10-06 16:24:19 -07:00
/**
* offset 128
*/
2022-11-02 19:21:44 -07:00
float egtValue2 = (float)0;
2022-08-22 15:32:47 -07:00
/**
* User-defined RPM hard limit
rpm
2022-10-06 16:24:19 -07:00
* offset 132
2022-08-22 15:32:47 -07:00
*/
int16_t desiredRpmLimit = (int16_t)0;
/**
* need 4 byte alignment
units
2022-10-06 16:24:19 -07:00
* offset 134
2022-08-22 15:32:47 -07:00
*/
2022-10-06 16:24:19 -07:00
uint8_t alignmentFill_at_134[2];
2022-08-25 15:51:12 -07:00
/**
2022-10-06 16:24:19 -07:00
* offset 136
2022-08-25 15:51:12 -07:00
*/
2022-10-28 01:36:50 -07:00
uint32_t fuelInjectionCounter = (uint32_t)0;
2022-08-25 15:51:12 -07:00
/**
2022-10-06 16:24:19 -07:00
* offset 140
2022-08-25 15:51:12 -07:00
*/
2022-10-28 01:36:50 -07:00
uint32_t sparkCounter = (uint32_t)0;
2022-09-04 19:44:56 -07:00
/**
* @@GAUGE_NAME_FUEL_LOAD@@
2022-10-06 16:24:19 -07:00
* offset 144
2022-09-04 19:44:56 -07:00
*/
float fuelingLoad = (float)0;
/**
* @@GAUGE_NAME_IGNITION_LOAD@@
2022-10-06 16:24:19 -07:00
* offset 148
2022-09-04 19:44:56 -07:00
*/
float ignitionLoad = (float)0;
2022-11-05 17:28:03 -07:00
/**
%
* offset 152
*/
scaled_channel<uint16_t, 100, 1> veTableYAxis = (uint16_t)0;
/**
* need 4 byte alignment
units
* offset 154
*/
uint8_t alignmentFill_at_154[2];
};
2022-11-05 17:28:03 -07:00
static_assert(sizeof(engine_state_s) == 156);
// end
2022-11-05 17:28:03 -07:00
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/engine_state.txt Sun Nov 06 00:27:04 UTC 2022