fome-fw/firmware/controllers/algo/antilag_system_state_genera...

118 lines
2.1 KiB
C
Raw Normal View History

2022-12-16 17:29:31 -08:00
#pragma once
#include "rusefi_types.h"
struct antilag_system_state_s {
/**
offset 0 bit 0 */
bool isAntilagCondition : 1 {};
/**
offset 0 bit 1 */
bool ALSMinRPMCondition : 1 {};
/**
offset 0 bit 2 */
bool ALSMaxRPMCondition : 1 {};
/**
offset 0 bit 3 */
bool ALSMinCLTCondition : 1 {};
/**
offset 0 bit 4 */
bool ALSMaxCLTCondition : 1 {};
/**
offset 0 bit 5 */
2022-12-27 16:48:57 -08:00
bool ALSMaxThrottleIntentCondition : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 6 */
2022-12-21 16:29:40 -08:00
bool isALSSwitchActivated : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 7 */
2022-12-21 16:29:40 -08:00
bool ALSActivatePinState : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 8 */
2022-12-21 16:29:40 -08:00
bool ALSSwitchCondition : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 9 */
2023-02-06 15:07:21 -08:00
bool ALSTimerCondition : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 10 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_10 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 11 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_11 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 12 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_12 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 13 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_13 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 14 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_14 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 15 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_15 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 16 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_16 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 17 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_17 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 18 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_18 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 19 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_19 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 20 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_20 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 21 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_21 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 22 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_22 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 23 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_23 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 24 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_24 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 25 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_25 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 26 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_26 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 27 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_27 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 28 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_28 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 29 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_29 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 30 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_30 : 1 {};
2022-12-16 17:29:31 -08:00
/**
offset 0 bit 31 */
2023-02-06 15:07:21 -08:00
bool unusedBit_10_31 : 1 {};
2022-12-21 15:52:17 -08:00
/**
* offset 4
*/
float fuelALSCorrection = (float)0;
2022-12-21 16:29:40 -08:00
/**
deg
* offset 8
*/
scaled_channel<int16_t, 100, 1> timingALSCorrection = (int16_t)0;
/**
* need 4 byte alignment
units
* offset 10
*/
uint8_t alignmentFill_at_10[2];
2022-12-16 17:29:31 -08:00
};
2022-12-21 16:29:40 -08:00
static_assert(sizeof(antilag_system_state_s) == 12);
2022-12-16 17:29:31 -08:00