25#define CAN_PEDAL_TPS_OFFSET 2
26#define CAN_SENSOR_1_OFFSET 3
33 uint8_t mainRelay : 1;
35 uint8_t checkEngine : 1;
37 uint8_t lambdaProtectActive : 1;
56#if EFI_SHAFT_POSITION_INPUT
71 uint8_t brakePedal : 1;
81 scaled_channel<uint8_t, 2> injDuty;
82 scaled_channel<uint8_t, 2> coilDuty;
83 scaled_channel<uint8_t> vssKph;
84 uint8_t EthanolPercent;
92 msg.timing = timing > 360 ? timing - 720 : timing;
119 scaled_channel<uint8_t> clt;
120 scaled_channel<uint8_t> iat;
121 scaled_channel<uint8_t> aux1;
122 scaled_channel<uint8_t> aux2;
123 scaled_channel<uint8_t> mcuTemp;
124 scaled_channel<uint8_t, 2> fuelLevel;
160 scaled_channel<uint16_t, 1000> cylAirmass;
161 scaled_channel<uint16_t, 100> estAirflow;
167#if EFI_ENGINE_CONTROL
176 scaled_channel<uint16_t> fuelConsumedGram;
177 scaled_channel<uint16_t, PACK_MULT_FUEL_FLOW>
fuelFlowRate;
182#ifdef MODULE_ODOMETER
187 for (
size_t i = 0; i < FT_BANK_COUNT; i++) {
193 scaled_channel<uint16_t, 10000> Lambda;
194 scaled_channel<uint16_t, 10000>
Lambda2;
206struct PerCylinderKnock {
211 for (
size_t index = 0;index<std::min(8, MAX_CYLINDER_COUNT);index++) {
217 int8_t Bank1IntakeActual;
218 int8_t Bank1IntakeTarget;
219 int8_t Bank1ExhaustActual;
220 int8_t Bank1ExhaustTarget;
221 int8_t Bank2IntakeActual;
222 int8_t Bank2IntakeTarget;
223 int8_t Bank2ExhaustActual;
224 int8_t Bank2ExhaustTarget;
228#if EFI_SHAFT_POSITION_INPUT
253#if HW_HELLEN && EFI_PROD_CODE
static void populateFrame(Status &msg)
FuelComputer fuelComputer
TriggerCentral triggerCentral
LambdaMonitor lambdaMonitor
TunerStudioOutputChannels outputChannels
constexpr auto & module()
RegisteredOutputPin mainRelay
RegisteredOutputPin fanRelay
RegisteredOutputPin fanRelay2
RegisteredOutputPin fuelPumpRelay
RegisteredOutputPin checkEnginePin
WarningCodeState warnings
angle_t timingAdvance[MAX_CYLINDER_COUNT]
bool getLogicValue() const
virtual SensorResult get() const =0
static float getOrZero(SensorType type)
angle_t getVVTPosition(uint8_t bankIndex, uint8_t camIndex)
scaled_channel< int16_t, PACK_MULT_ANGLE > scaled_angle
scaled_channel< int16_t, PACK_MULT_MS > scaled_ms
scaled_channel< uint16_t, PACK_MULT_PRESSURE > scaled_pressure
scaled_channel< int16_t, PACK_MULT_PERCENT > scaled_percent
scaled_channel< uint16_t, PACK_MULT_VOLTAGE > scaled_voltage
static EngineAccessor engine
static constexpr engine_configuration_s * engineConfiguration
percent_t getInjectorDutyCycle(float rpm)
bool getHellenBoardEnabled()
fuelTemp("fuelTemp", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 746, 0.01, 0.0, 0.0, "deg C")
oilPressure("Oil Pressure", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 40, 0.03333333333333333, 0.0, 0.0, "kPa")
oilTemp("oilTemp", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 744, 0.01, 0.0, 0.0, "deg C")
distanceTraveled("distanceTraveled", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 760, 0.1, 0.0, 0.0, "km")
warningCounter("Warning: counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 140, 1.0, 0.0, 0.0, "count")
fuelFlowRate("Fuel: Flow rate", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 80, 0.005, 0.0, 0.0, "gram/s")
lastErrorCode("Warning: last", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 142, 1.0, 0.0, 0.0, "error")
percent_t getCoilDutyCycle(float rpm)
uint32_t verboseCanBaseAddress
bool canBroadcastUseChannelTwo
float stftCorrection[FT_BANK_COUNT]
float sdAirMassInOneCylinder
scaled_channel< uint16_t, 300, 1 > actualLastInjection
static CanTsChannel canChannel