2022-04-13 12:43:05 -07:00
|
|
|
#pragma once
|
|
|
|
#include "rusefi_types.h"
|
2022-04-13 12:51:11 -07:00
|
|
|
struct ignition_state_s {
|
2023-03-27 01:38:48 -07:00
|
|
|
// ms
|
|
|
|
// offset 0
|
2022-04-13 12:43:05 -07:00
|
|
|
float baseDwell = (float)0;
|
2024-01-19 04:02:28 -08:00
|
|
|
// Ign: Dwell
|
2023-03-27 01:38:48 -07:00
|
|
|
// ms
|
|
|
|
// offset 4
|
2024-01-19 04:02:28 -08:00
|
|
|
float sparkDwell = (float)0;
|
2023-03-27 01:38:48 -07:00
|
|
|
// ignition dwell duration
|
|
|
|
// as crankshaft angle
|
|
|
|
// NAN if engine is stopped
|
|
|
|
// See also sparkDwell
|
|
|
|
// deg
|
|
|
|
// offset 8
|
2023-01-15 05:37:56 -08:00
|
|
|
angle_t dwellAngle = (angle_t)0;
|
2023-05-04 14:02:19 -07:00
|
|
|
// Ign: CLT correction
|
2023-03-27 01:38:48 -07:00
|
|
|
// deg
|
|
|
|
// offset 12
|
2023-01-15 05:37:56 -08:00
|
|
|
scaled_channel<int16_t, 100, 1> cltTimingCorrection = (int16_t)0;
|
2023-05-04 14:02:19 -07:00
|
|
|
// Ign: IAT correction
|
2023-03-27 01:38:48 -07:00
|
|
|
// deg
|
|
|
|
// offset 14
|
2023-01-15 05:37:56 -08:00
|
|
|
scaled_channel<int16_t, 100, 1> timingIatCorrection = (int16_t)0;
|
2023-05-04 14:02:19 -07:00
|
|
|
// Idle: Timing adjustment
|
2023-03-27 01:38:48 -07:00
|
|
|
// deg
|
|
|
|
// offset 16
|
2023-01-15 05:37:56 -08:00
|
|
|
scaled_channel<int16_t, 100, 1> timingPidCorrection = (int16_t)0;
|
2023-03-27 01:38:48 -07:00
|
|
|
// offset 18
|
2023-01-15 05:37:56 -08:00
|
|
|
uint8_t alignmentFill_at_18[2];
|
2023-05-04 14:02:19 -07:00
|
|
|
// Ign: Dwell voltage correction
|
2023-03-27 01:38:48 -07:00
|
|
|
// offset 20
|
2023-01-15 05:37:56 -08:00
|
|
|
float dwellVoltageCorrection = (float)0;
|
2023-05-04 13:37:23 -07:00
|
|
|
// Ign: Lua timing add
|
2023-03-27 01:38:48 -07:00
|
|
|
// deg
|
|
|
|
// offset 24
|
2023-01-15 05:37:56 -08:00
|
|
|
float luaTimingAdd = (float)0;
|
2023-05-04 13:37:23 -07:00
|
|
|
// Ign: Lua timing mult
|
2023-03-27 01:38:48 -07:00
|
|
|
// deg
|
|
|
|
// offset 28
|
2022-04-16 16:33:47 -07:00
|
|
|
float luaTimingMult = (float)0;
|
2022-04-13 12:43:05 -07:00
|
|
|
};
|
2023-01-15 05:37:56 -08:00
|
|
|
static_assert(sizeof(ignition_state_s) == 32);
|
2024-01-19 04:02:28 -08:00
|
|
|
static_assert(offsetof(ignition_state_s, baseDwell) == 0);
|
|
|
|
static_assert(offsetof(ignition_state_s, sparkDwell) == 4);
|
|
|
|
static_assert(offsetof(ignition_state_s, dwellAngle) == 8);
|
|
|
|
static_assert(offsetof(ignition_state_s, cltTimingCorrection) == 12);
|
|
|
|
static_assert(offsetof(ignition_state_s, timingIatCorrection) == 14);
|
|
|
|
static_assert(offsetof(ignition_state_s, timingPidCorrection) == 16);
|
|
|
|
static_assert(offsetof(ignition_state_s, dwellVoltageCorrection) == 20);
|
|
|
|
static_assert(offsetof(ignition_state_s, luaTimingAdd) == 24);
|
|
|
|
static_assert(offsetof(ignition_state_s, luaTimingMult) == 28);
|
2022-04-13 12:43:05 -07:00
|
|
|
|