diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 689208ba97..19998bf1d5 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -904,3 +904,15 @@ typedef enum { ALWAYS_ON_ANTILAG = 1, Force_4bytes_size_antiLagActivationMode_e = ENUM_32_BITS, } antiLagActivationMode_e; + +typedef enum __attribute__ ((__packed__)) { + GPPWM_Tps = 0, + GPPWM_Map = 1, + GPPWM_Clt = 2, + GPPWM_Iat = 3, +} gppwm_channel_e; + +typedef enum __attribute__ ((__packed__)) { + GPPWM_GreaterThan = 0, + GPPWM_LessThan = 1, +} gppwm_compare_mode_e; diff --git a/firmware/controllers/algo/rusefi_types.h b/firmware/controllers/algo/rusefi_types.h index 7758b3d006..ddd660a1d9 100644 --- a/firmware/controllers/algo/rusefi_types.h +++ b/firmware/controllers/algo/rusefi_types.h @@ -101,6 +101,7 @@ typedef float fsio_table_8x8_f32t[FSIO_TABLE_8][FSIO_TABLE_8]; typedef float tps_tps_table_t[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; typedef uint8_t fsio_table_8x8_u8t[FSIO_TABLE_8][FSIO_TABLE_8]; typedef uint8_t boost_table_t[BOOST_LOAD_COUNT][BOOST_RPM_COUNT]; + typedef uint8_t gppwm_table_t[GPPWM_LOAD_COUNT][GPPWM_RPM_COUNT]; // this is different type simply to have different hi/low range in rusefi.ini diff --git a/firmware/util/containers/table_helper.h b/firmware/util/containers/table_helper.h index 2cd4368518..37ad332c7c 100644 --- a/firmware/util/containers/table_helper.h +++ b/firmware/util/containers/table_helper.h @@ -161,6 +161,7 @@ typedef Map3D pedal2tps_ typedef Map3D boostOpenLoop_Map3D_t; typedef Map3D boostClosedLoop_Map3D_t; typedef Map3D iacPidMultiplier_t; +typedef Map3D gppwm_Map3D_t; void setRpmBin(float array[], int size, float idleRpm, float topRpm);