Add a new MAP sensor type (MPX4250A) (#554)

This commit is contained in:
andreika-git 2018-01-26 17:50:12 +02:00 committed by rusefi
parent f8d1b86ca7
commit 1725058dc6
4 changed files with 15 additions and 2 deletions

View File

@ -775,6 +775,14 @@ typedef enum {
*/
MT_TOYOTA_89420_02010 = 8,
/**
* 20 to 250 kPa (2.9 to 36.3 psi) 0.25 to 4.875 OUTPUT
* More precise calibration data for new NXP sensor revisions MPX4250A and MPXA4250A.
* For an old Freescale MPX4250D use "MT_MPX4250".
* See https://www.nxp.com/docs/en/data-sheet/MPX4250A.pdf
*/
MT_MPX4250A = 9,
Force_4b_cranking_map_type = ENUM_32_BITS,
} air_pressure_sensor_type_e;

View File

@ -56,6 +56,8 @@ static FastInterpolation gm3bar(0.631, 40, 4.914, 304);
static FastInterpolation mpx4250(0, 8, 5, 260);
static FastInterpolation mpx4250A(0.25, 20, 4.875, 250);
static FastInterpolation mpx4100(0.3, 20, 4.9, 105);
/**
@ -85,6 +87,7 @@ float decodePressure(float voltage, air_pressure_sensor_config_s * mapConfig DEC
engineConfiguration->mapHighValueVoltage, mapConfig->highValue, voltage);
case MT_DENSO183:
case MT_MPX4250:
case MT_MPX4250A:
case MT_HONDA3BAR:
case MT_DODGE_NEON_2003:
case MT_SUBY_DENSO:
@ -178,6 +181,8 @@ static FastInterpolation *getDecoder(air_pressure_sensor_type_e type) {
return &denso183;
case MT_MPX4250:
return &mpx4250;
case MT_MPX4250A:
return &mpx4250A;
case MT_HONDA3BAR:
return &honda3bar;
case MT_DODGE_NEON_2003:

View File

@ -173,7 +173,7 @@ custom brain_pin_e 4 bits, U32, @OFFSET@, [0:6], @@brain_pin_e_enum@@
#define pin_output_mode_e_enum "default", "default inverted", "open collector", "open collector inverted"
custom pin_output_mode_e 4 bits, U32, @OFFSET@, [0:1], @@pin_output_mode_e_enum@@
custom air_pressure_sensor_type_e 4 bits, U32, @OFFSET@, [0:2] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "3 Bar", "INVALID"
custom air_pressure_sensor_type_e 4 bits, U32, @OFFSET@, [0:2] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "INVALID"
#define adc_channel_e_enum "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
custom adc_channel_e 4 bits, U32, @OFFSET@, [0:4] @@adc_channel_e_enum@@

View File

@ -117,7 +117,7 @@ page = 1
map_samplingWindow = array, F32, 204, [8], "deg", 1, 0, -720, 720, 2
map_sensor_lowValue = scalar, F32, 236, "kpa", 1, 0, -400, 800, 2
map_sensor_highValue = scalar, F32, 240, "kpa", 1, 0, -400, 800, 2
map_sensor_type = bits, U32, 244, [0:2] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "3 Bar", "INVALID"
map_sensor_type = bits, U32, 244, [0:2] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "INVALID"
map_sensor_hwChannel = bits, U32, 248, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
clt_tempC_1 = scalar, F32, 252, "*C", 1, 0, -40, 200, 1
clt_tempC_2 = scalar, F32, 256, "*C", 1, 0, -40, 200, 1