Suga koubou
/
Car_test
OBD II see: https://os.mbed.com/users/okini3939/notebook/obd2-can-bus/
ecu_reader/ecu_reader.h@0:c6f40de7ab86, 2017-12-20 (annotated)
- Committer:
- okini3939
- Date:
- Wed Dec 20 07:21:57 2017 +0000
- Revision:
- 0:c6f40de7ab86
1st build;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:c6f40de7ab86 | 1 | #ifndef ECU_READER_H |
okini3939 | 0:c6f40de7ab86 | 2 | #define ECU_READER_H |
okini3939 | 0:c6f40de7ab86 | 3 | |
okini3939 | 0:c6f40de7ab86 | 4 | #define CANSPEED_125 125000 // CAN speed at 125 kbps |
okini3939 | 0:c6f40de7ab86 | 5 | #define CANSPEED_250 250000 // CAN speed at 250 kbps |
okini3939 | 0:c6f40de7ab86 | 6 | #define CANSPEED_500 500000 // CAN speed at 500 kbps |
okini3939 | 0:c6f40de7ab86 | 7 | |
okini3939 | 0:c6f40de7ab86 | 8 | /* Details from http://en.wikipedia.org/wiki/OBD-II_PIDs */ |
okini3939 | 0:c6f40de7ab86 | 9 | #define PID_0_20 0x00 //PID 0 - 20 supported |
okini3939 | 0:c6f40de7ab86 | 10 | #define PID_0_20_DESC "PID 0x00 - 0x20 Supported" |
okini3939 | 0:c6f40de7ab86 | 11 | #define STATUS_DTC 0x01 /// |
okini3939 | 0:c6f40de7ab86 | 12 | #define STATUS_DTC_DESC "Status since DTC Cleared" |
okini3939 | 0:c6f40de7ab86 | 13 | #define FREEZE_DTC 0x02 /// |
okini3939 | 0:c6f40de7ab86 | 14 | #define FREEZE_DTC_DESC "Freeze Diagnostic Trouble Code" |
okini3939 | 0:c6f40de7ab86 | 15 | #define FUEL_SYS_STATUS 0x03 /// |
okini3939 | 0:c6f40de7ab86 | 16 | #define FUEL_SYS_STATUS_DESC "Fuel System Status" |
okini3939 | 0:c6f40de7ab86 | 17 | #define ENGINE_LOAD 0x04 // |
okini3939 | 0:c6f40de7ab86 | 18 | #define ENGINE_LOAD_DESC "Calculated Engine Load" |
okini3939 | 0:c6f40de7ab86 | 19 | #define ENGINE_COOLANT_TEMP 0x05 |
okini3939 | 0:c6f40de7ab86 | 20 | #define ENGINE_COOLANT_TEMP_DESC "Engine Coolant Temperature" |
okini3939 | 0:c6f40de7ab86 | 21 | #define ST_FUEL_TRIM_1 0x06 /// |
okini3939 | 0:c6f40de7ab86 | 22 | #define ST_FUEL_TRIM_1_DESC "Short Term Fuel % Trim - Bank 1" |
okini3939 | 0:c6f40de7ab86 | 23 | #define LT_FUEL_TRIM_1 0x07 /// |
okini3939 | 0:c6f40de7ab86 | 24 | #define LT_FUEL_TRIM_1_DESC "Long Term Fuel % Trim - Bank 1" |
okini3939 | 0:c6f40de7ab86 | 25 | #define ST_FUEL_TRIM_2 0x08 /// |
okini3939 | 0:c6f40de7ab86 | 26 | #define ST_FUEL_TRIM_2_DESC "Short Term Fuel % Trim - Bank 2" |
okini3939 | 0:c6f40de7ab86 | 27 | #define LT_FUEL_TRIM_2 0x09 /// |
okini3939 | 0:c6f40de7ab86 | 28 | #define LT_FUEL_TRIM_2_DESC "Long Term Fuel % Trim - Bank 2" |
okini3939 | 0:c6f40de7ab86 | 29 | #define FUEL_PRESSURE 0x0A // |
okini3939 | 0:c6f40de7ab86 | 30 | #define FUEL_PRESSURE_DESC "Fuel Pressure" |
okini3939 | 0:c6f40de7ab86 | 31 | #define INTAKE_PRESSURE 0x0B // |
okini3939 | 0:c6f40de7ab86 | 32 | #define INTAKE_PRESSURE_DESC "Intake Manifold Absolute Pressure" |
okini3939 | 0:c6f40de7ab86 | 33 | #define ENGINE_RPM 0x0C |
okini3939 | 0:c6f40de7ab86 | 34 | #define ENGINE_RPM_DESC "Engine RPM" |
okini3939 | 0:c6f40de7ab86 | 35 | #define VEHICLE_SPEED 0x0D |
okini3939 | 0:c6f40de7ab86 | 36 | #define VEHICLE_SPEED_DESC "Vehicle Speed" |
okini3939 | 0:c6f40de7ab86 | 37 | #define TIMING_ADVANCE 0x0E // |
okini3939 | 0:c6f40de7ab86 | 38 | #define TIMING_ADVANCE_DESC "Timing Advance" |
okini3939 | 0:c6f40de7ab86 | 39 | #define INTAKE_TEMP 0x0F // |
okini3939 | 0:c6f40de7ab86 | 40 | #define INTAKE_TEMP_DESC "Intake Air Temperature" |
okini3939 | 0:c6f40de7ab86 | 41 | #define MAF_SENSOR 0x10 |
okini3939 | 0:c6f40de7ab86 | 42 | #define MAF_SENSOR_DESC "MAF Sensor Air Flow Rate" |
okini3939 | 0:c6f40de7ab86 | 43 | #define THROTTLE 0x11 |
okini3939 | 0:c6f40de7ab86 | 44 | #define THROTTLE_DESC "Throttle Position" |
okini3939 | 0:c6f40de7ab86 | 45 | #define COMMANDED_SEC_AIR 0x12 /// |
okini3939 | 0:c6f40de7ab86 | 46 | #define COMMANDED_SEC_AIR_DESC "Commanded Secondary Air Status" |
okini3939 | 0:c6f40de7ab86 | 47 | #define O2_SENS_PRES 0x13 /// |
okini3939 | 0:c6f40de7ab86 | 48 | #define O2_SENS_PRES_DESC "Detected O2 Sensors" |
okini3939 | 0:c6f40de7ab86 | 49 | #define O2_B1S1_VOLTAGE 0x14 /// |
okini3939 | 0:c6f40de7ab86 | 50 | #define O2_B1S1_VOLTAGE_DESC "O2 Sensor Voltage - Bank 1 Sensor 1" |
okini3939 | 0:c6f40de7ab86 | 51 | #define O2_B1S2_VOLTAGE 0x15 /// |
okini3939 | 0:c6f40de7ab86 | 52 | #define O2_B1S2_VOLTAGE_DESC "O2 Sensor Voltage - Bank 1 Sensor 2" |
okini3939 | 0:c6f40de7ab86 | 53 | #define O2_B1S3_VOLTAGE 0x16 /// |
okini3939 | 0:c6f40de7ab86 | 54 | #define O2_B1S3_VOLTAGE_DESC "O2 Sensor Voltage - Bank 1 Sensor 3" |
okini3939 | 0:c6f40de7ab86 | 55 | #define O2_B1S4_VOLTAGE 0x17 /// |
okini3939 | 0:c6f40de7ab86 | 56 | #define O2_B1S4_VOLTAGE_DESC "O2 Sensor Voltage - Bank 1 Sensor 4" |
okini3939 | 0:c6f40de7ab86 | 57 | #define O2_B2S1_VOLTAGE 0x18 /// |
okini3939 | 0:c6f40de7ab86 | 58 | #define O2_B2S1_VOLTAGE_DESC "O2 Sensor Voltage - Bank 2 Sensor 1" |
okini3939 | 0:c6f40de7ab86 | 59 | #define O2_B2S2_VOLTAGE 0x19 /// |
okini3939 | 0:c6f40de7ab86 | 60 | #define O2_B2S2_VOLTAGE_DESC "O2 Sensor Voltage - Bank 2 Sensor 2" |
okini3939 | 0:c6f40de7ab86 | 61 | #define O2_B2S3_VOLTAGE 0x1A /// |
okini3939 | 0:c6f40de7ab86 | 62 | #define O2_B2S3_VOLTAGE_DESC "O2 Sensor Voltage - Bank 2 Sensor 3" |
okini3939 | 0:c6f40de7ab86 | 63 | #define O2_B2S4_VOLTAGE 0x1B /// |
okini3939 | 0:c6f40de7ab86 | 64 | #define O2_B2S4_VOLTAGE_DESC "O2 Sensor Voltage - Bank 2 Sensor 4" |
okini3939 | 0:c6f40de7ab86 | 65 | #define OBDII_STANDARDS 0x1C //List of OBDII Standars the car conforms to |
okini3939 | 0:c6f40de7ab86 | 66 | #define OBDII_STANDARDS_DESC "Supported OBDII Standards" |
okini3939 | 0:c6f40de7ab86 | 67 | #define O2_SENS_PRES_ALT 0x1D /// |
okini3939 | 0:c6f40de7ab86 | 68 | #define O2_SENS_PRES_ALT_DESC "Detected O2 Sensors - Alternate Grouping" |
okini3939 | 0:c6f40de7ab86 | 69 | #define AUX_IN_STATUS 0x1E /// |
okini3939 | 0:c6f40de7ab86 | 70 | #define AUX_IN_STATUS_DESC "Auxiliary Input Status" |
okini3939 | 0:c6f40de7ab86 | 71 | #define ENGINE_RUNTIME 0x1F // |
okini3939 | 0:c6f40de7ab86 | 72 | #define ENGINE_RUNTIME_DESC "Run Time Since Engine Started" |
okini3939 | 0:c6f40de7ab86 | 73 | #define PID_21_40 0x20 //PID 21-40 supported |
okini3939 | 0:c6f40de7ab86 | 74 | #define PID_21_40_DESC "PID 0x21 - 0x40 Supported" |
okini3939 | 0:c6f40de7ab86 | 75 | #define DIST_TRAVELED_MIL 0x21 /// |
okini3939 | 0:c6f40de7ab86 | 76 | #define DIST_TRAVELED_MIL_DESC "Distance Traveled with MIL On" |
okini3939 | 0:c6f40de7ab86 | 77 | #define FUEL_RAIL_PRESSURE 0x22 // |
okini3939 | 0:c6f40de7ab86 | 78 | #define FUEL_RAIL_PRESSURE_DESC "Fuel Rail Pressure Relative to Manifold" |
okini3939 | 0:c6f40de7ab86 | 79 | #define FUEL_RAIL_PRES_ALT 0x23 /// |
okini3939 | 0:c6f40de7ab86 | 80 | #define FUEL_RAIL_PRES_ALT_DESC "MPI/Diesel Fuel Rail Pressure" |
okini3939 | 0:c6f40de7ab86 | 81 | #define O2S1_WR_LAMBDA_V 0x24 /// |
okini3939 | 0:c6f40de7ab86 | 82 | #define O2S1_WR_LAMBDA_V_DESC "O2 Sensor 1 Equivalence Ratio Voltage" |
okini3939 | 0:c6f40de7ab86 | 83 | #define O2S2_WR_LAMBDA_V 0x25 /// |
okini3939 | 0:c6f40de7ab86 | 84 | #define O2S2_WR_LAMBDA_V_DESC "O2 Sensor 2 Equivalence Ratio Voltage" |
okini3939 | 0:c6f40de7ab86 | 85 | #define O2S3_WR_LAMBDA_V 0x26 /// |
okini3939 | 0:c6f40de7ab86 | 86 | #define O2S3_WR_LAMBDA_V_DESC "O2 Sensor 3 Equivalence Ratio Voltage" |
okini3939 | 0:c6f40de7ab86 | 87 | #define O2S4_WR_LAMBDA_V 0x27 /// |
okini3939 | 0:c6f40de7ab86 | 88 | #define O2S4_WR_LAMBDA_V_DESC "O2 Sensor 4 Equivalence Ratio Voltage" |
okini3939 | 0:c6f40de7ab86 | 89 | #define O2S5_WR_LAMBDA_V 0x28 /// |
okini3939 | 0:c6f40de7ab86 | 90 | #define O2S5_WR_LAMBDA_V_DESC "O2 Sensor 5 Equivalence Ratio Voltage" |
okini3939 | 0:c6f40de7ab86 | 91 | #define O2S6_WR_LAMBDA_V 0x29 /// |
okini3939 | 0:c6f40de7ab86 | 92 | #define O2S6_WR_LAMBDA_V_DESC "O2 Sensor 6 Equivalence Ratio Voltage" |
okini3939 | 0:c6f40de7ab86 | 93 | #define O2S7_WR_LAMBDA_V 0x2A /// |
okini3939 | 0:c6f40de7ab86 | 94 | #define O2S7_WR_LAMBDA_V_DESC "O2 Sensor 7 Equivalence Ratio Voltage" |
okini3939 | 0:c6f40de7ab86 | 95 | #define O2S8_WR_LAMBDA_V 0x2B /// |
okini3939 | 0:c6f40de7ab86 | 96 | #define O2S8_WR_LAMBDA_V_DESC "O2 Sensor 8 Equivalence Ratio Voltage" |
okini3939 | 0:c6f40de7ab86 | 97 | #define COMMANDED_EGR 0x2C // |
okini3939 | 0:c6f40de7ab86 | 98 | #define COMMANDED_EGR_DESC "Commanded EGR" |
okini3939 | 0:c6f40de7ab86 | 99 | #define EGR_ERROR 0x2D // |
okini3939 | 0:c6f40de7ab86 | 100 | #define EGR_ERROR_DESC "EGR Error" |
okini3939 | 0:c6f40de7ab86 | 101 | #define COMMANDED_EVAP_P 0x2E /// |
okini3939 | 0:c6f40de7ab86 | 102 | #define COMMANDED_EVAP_P_DESC "Commanded Evaporative Purge" |
okini3939 | 0:c6f40de7ab86 | 103 | #define FUEL_LEVEL 0x2F // |
okini3939 | 0:c6f40de7ab86 | 104 | #define FUEL_LEVEL_DESC "Fuel Level Input" |
okini3939 | 0:c6f40de7ab86 | 105 | #define WARMUPS_SINCE_CLR 0x30 /// |
okini3939 | 0:c6f40de7ab86 | 106 | #define WARMUPS_SINCE_CLR_DESC "Number of Warmups since DTC Cleared" |
okini3939 | 0:c6f40de7ab86 | 107 | #define DIST_SINCE_CLR 0x31 /// |
okini3939 | 0:c6f40de7ab86 | 108 | #define DIST_SINCE_CLR_DESC "Distance Traveled Since DTC Cleared" |
okini3939 | 0:c6f40de7ab86 | 109 | #define EVAP_PRESSURE 0x32 // |
okini3939 | 0:c6f40de7ab86 | 110 | #define EVAP_PRESSURE_DESC "Evap. System Vapor Pressure" |
okini3939 | 0:c6f40de7ab86 | 111 | #define BAROMETRIC_PRESSURE 0x33 // |
okini3939 | 0:c6f40de7ab86 | 112 | #define BAROMETRIC_PRESSURE_DESC "Barometric Pressure" |
okini3939 | 0:c6f40de7ab86 | 113 | #define O2S1_WR_LAMBDA_I 0x34 /// |
okini3939 | 0:c6f40de7ab86 | 114 | #define O2S1_WR_LAMBDA_I_DESC "O2 Sensor 1 Equivalence Ratio Current" |
okini3939 | 0:c6f40de7ab86 | 115 | #define O2S2_WR_LAMBDA_I 0x35 /// |
okini3939 | 0:c6f40de7ab86 | 116 | #define O2S2_WR_LAMBDA_I_DESC "O2 Sensor 2 Equivalence Ratio Current" |
okini3939 | 0:c6f40de7ab86 | 117 | #define O2S3_WR_LAMBDA_I 0x36 /// |
okini3939 | 0:c6f40de7ab86 | 118 | #define O2S3_WR_LAMBDA_I_DESC "O2 Sensor 3 Equivalence Ratio Current" |
okini3939 | 0:c6f40de7ab86 | 119 | #define O2S4_WR_LAMBDA_I 0x37 /// |
okini3939 | 0:c6f40de7ab86 | 120 | #define O2S4_WR_LAMBDA_I_DESC "O2 Sensor 4 Equivalence Ratio Current" |
okini3939 | 0:c6f40de7ab86 | 121 | #define O2S5_WR_LAMBDA_I 0x38 /// |
okini3939 | 0:c6f40de7ab86 | 122 | #define O2S5_WR_LAMBDA_I_DESC "O2 Sensor 5 Equivalence Ratio Current" |
okini3939 | 0:c6f40de7ab86 | 123 | #define O2S6_WR_LAMBDA_I 0x39 /// |
okini3939 | 0:c6f40de7ab86 | 124 | #define O2S6_WR_LAMBDA_I_DESC "O2 Sensor 6 Equivalence Ratio Current" |
okini3939 | 0:c6f40de7ab86 | 125 | #define O2S7_WR_LAMBDA_I 0x3A /// |
okini3939 | 0:c6f40de7ab86 | 126 | #define O2S7_WR_LAMBDA_I_DESC "O2 Sensor 7 Equivalence Ratio Current" |
okini3939 | 0:c6f40de7ab86 | 127 | #define O2S8_WR_LAMBDA_I 0x3B /// |
okini3939 | 0:c6f40de7ab86 | 128 | #define O2S8_WR_LAMBDA_I_DESC "O2 Sensor 8 Equivalence Ratio Current" |
okini3939 | 0:c6f40de7ab86 | 129 | #define CAT_TEMP_B1S1 0x3C /// |
okini3939 | 0:c6f40de7ab86 | 130 | #define CAT_TEMP_B1S1_DESC "Catalyst Temperature Bank 1 Sensor 1" |
okini3939 | 0:c6f40de7ab86 | 131 | #define CAT_TEMP_B1S2 0x3E /// |
okini3939 | 0:c6f40de7ab86 | 132 | #define CAT_TEMP_B1S2_DESC "Catalyst Temperature Bank 1 Sensor 2" |
okini3939 | 0:c6f40de7ab86 | 133 | #define CAT_TEMP_B2S1 0x3D /// |
okini3939 | 0:c6f40de7ab86 | 134 | #define CAT_TEMP_B2S1_DESC "Catalyst Temperature Bank 2 Sensor 1" |
okini3939 | 0:c6f40de7ab86 | 135 | #define CAT_TEMP_B2S2 0x3F /// |
okini3939 | 0:c6f40de7ab86 | 136 | #define CAT_TEMP_B2S2_DESC "Catalyst Temperature Bank 2 Sensor 2" |
okini3939 | 0:c6f40de7ab86 | 137 | #define PID_41_60 0x40 //PID 41-60 supported |
okini3939 | 0:c6f40de7ab86 | 138 | #define PID_41_60_DESC "PID 0x41 - 0x60 Supported" |
okini3939 | 0:c6f40de7ab86 | 139 | #define MONITOR_STATUS 0x41 /// |
okini3939 | 0:c6f40de7ab86 | 140 | #define MONITOR_STATUS_DESC "Monitor Status This Drive Cycle" |
okini3939 | 0:c6f40de7ab86 | 141 | #define ECU_VOLTAGE 0x42 // |
okini3939 | 0:c6f40de7ab86 | 142 | #define ECU_VOLTAGE_DESC "Control Module Voltage" |
okini3939 | 0:c6f40de7ab86 | 143 | #define ABSOLUTE_LOAD 0x43 // |
okini3939 | 0:c6f40de7ab86 | 144 | #define ABSOLUTE_LOAD_DESC "Absolute Load Value" |
okini3939 | 0:c6f40de7ab86 | 145 | #define COMMANDED_EQUIV_R 0x44 /// |
okini3939 | 0:c6f40de7ab86 | 146 | #define COMMANDED_EQUIV_R_DESC "Commanded Equivalence Ratio" |
okini3939 | 0:c6f40de7ab86 | 147 | #define REL_THROTTLE_POS 0x45 /// |
okini3939 | 0:c6f40de7ab86 | 148 | #define REL_THROTTLE_POS_DESC "Relative Throttle Position" |
okini3939 | 0:c6f40de7ab86 | 149 | #define AMB_AIR_TEMP 0x46 /// |
okini3939 | 0:c6f40de7ab86 | 150 | #define AMB_AIR_TEMP_DESC "Ambient Air Temperature" |
okini3939 | 0:c6f40de7ab86 | 151 | #define ABS_THROTTLE_POS_B 0x47 /// |
okini3939 | 0:c6f40de7ab86 | 152 | #define ABS_THROTTLE_POS_B_DESC "Absolute Throttle Position B" |
okini3939 | 0:c6f40de7ab86 | 153 | #define ABS_THROTTLE_POS_C 0x48 /// |
okini3939 | 0:c6f40de7ab86 | 154 | #define ABS_THROTTLE_POS_C_DESC "Absolute Throttle Position C" |
okini3939 | 0:c6f40de7ab86 | 155 | #define ACCEL_POS_D 0x49 /// |
okini3939 | 0:c6f40de7ab86 | 156 | #define ACCEL_POS_D_DESC "Accelerator Pedal Position D" |
okini3939 | 0:c6f40de7ab86 | 157 | #define ACCEL_POS_E 0x4A /// |
okini3939 | 0:c6f40de7ab86 | 158 | #define ACCEL_POS_E_DESC "Accelerator Pedal Position E" |
okini3939 | 0:c6f40de7ab86 | 159 | #define ACCEL_POS_F 0x4B /// |
okini3939 | 0:c6f40de7ab86 | 160 | #define ACCEL_POS_F_DESC "Accelerator Pedal Position F" |
okini3939 | 0:c6f40de7ab86 | 161 | #define COMMANDED_THROTTLE 0x4C /// |
okini3939 | 0:c6f40de7ab86 | 162 | #define COMMANDED_THROTTLE_DESC "Commanded Throttle Actuator" |
okini3939 | 0:c6f40de7ab86 | 163 | #define TIME_RUN_WITH_MIL 0x4D /// |
okini3939 | 0:c6f40de7ab86 | 164 | #define TIME_RUN_WITH_MIL_DESC "Time Run with MIL on" |
okini3939 | 0:c6f40de7ab86 | 165 | #define TIME_SINCE_CLR 0x4E /// |
okini3939 | 0:c6f40de7ab86 | 166 | #define TIME_SINCE_CLR_DESC "Time Since DTC Cleared" |
okini3939 | 0:c6f40de7ab86 | 167 | #define MAX_R_O2_VI_PRES 0x4F /// |
okini3939 | 0:c6f40de7ab86 | 168 | #define MAX_R_O2_VI_PRES_DESC "Maximum Value - Equivalence ratio, O2 Voltage, O2 Current, Intake Manifold Pressure" |
okini3939 | 0:c6f40de7ab86 | 169 | #define MAX_AIRFLOW_MAF 0x50 /// |
okini3939 | 0:c6f40de7ab86 | 170 | #define MAX_AIRFLOW_MAF_DESC "Maximum MAF Airflow Value" |
okini3939 | 0:c6f40de7ab86 | 171 | #define FUEL_TYPE 0x51 // |
okini3939 | 0:c6f40de7ab86 | 172 | #define FUEL_TYPE_DESC "Fuel Type" |
okini3939 | 0:c6f40de7ab86 | 173 | #define ETHANOL_PERCENT 0x52 // |
okini3939 | 0:c6f40de7ab86 | 174 | #define ETHANOL_PERCENT_DESC "Ethanol fuel %" |
okini3939 | 0:c6f40de7ab86 | 175 | #define ABS_EVAP_SYS_PRES 0x53 /// |
okini3939 | 0:c6f40de7ab86 | 176 | #define ABS_EVAP_SYS_PRES_DESC "absolute Evap. System Vapor Pressure" |
okini3939 | 0:c6f40de7ab86 | 177 | #define EVAP_SYS_PRES 0x54 /// |
okini3939 | 0:c6f40de7ab86 | 178 | #define EVAP_SYS_PRES_DESC "Evap. System Vapor Pressure" |
okini3939 | 0:c6f40de7ab86 | 179 | #define ST_O2_TRIM_B1B3 0x55 /// |
okini3939 | 0:c6f40de7ab86 | 180 | #define ST_O2_TRIM_B1B3_DESC "Short Term Secondary O2 Sensor Trim - Bank 1 and 3" |
okini3939 | 0:c6f40de7ab86 | 181 | #define LT_O2_TRIM_B1B3 0x56 /// |
okini3939 | 0:c6f40de7ab86 | 182 | #define LT_O2_TRIM_B1B3_DESC "Long Term Secondary O2 Sensor Trim - Bank 1 and 3" |
okini3939 | 0:c6f40de7ab86 | 183 | #define ST_02_TRIM_B2B4 0x57 /// |
okini3939 | 0:c6f40de7ab86 | 184 | #define ST_O2_TRIM_B2B4_DESC "Short Term Secondary O2 Sensor Trim - Bank 2 and 4" |
okini3939 | 0:c6f40de7ab86 | 185 | #define LT_O2_TRIM_B2B4 0x58 /// |
okini3939 | 0:c6f40de7ab86 | 186 | #define LT_O2_TRIM_B2B4_DESC "Long Term Secondary O2 Sensor Trim - Bank 2 and 4" |
okini3939 | 0:c6f40de7ab86 | 187 | #define ABS_FUEL_RAIL_PRES 0x59 /// |
okini3939 | 0:c6f40de7ab86 | 188 | #define ABS_FUEL_RAIL_PRES_DESC "Absolute Fuel Rail Pressure" |
okini3939 | 0:c6f40de7ab86 | 189 | #define REL_ACCEL_POS 0x5A /// |
okini3939 | 0:c6f40de7ab86 | 190 | #define REL_ACCEL_POS_DESC "Relative Accelerator Pedal Position" |
okini3939 | 0:c6f40de7ab86 | 191 | #define HYBRID_BATT_PCT 0x5B /// |
okini3939 | 0:c6f40de7ab86 | 192 | #define HYBRID_BATT_PCT_DESC "Hybrid Battery Pack Charge Percent" |
okini3939 | 0:c6f40de7ab86 | 193 | #define ENGINE_OIL_TEMP 0x5C /// |
okini3939 | 0:c6f40de7ab86 | 194 | #define ENGINE_OIL_TEMP_DESC "Engine Oil Temperature" |
okini3939 | 0:c6f40de7ab86 | 195 | #define FUEL_TIMING 0x5D // |
okini3939 | 0:c6f40de7ab86 | 196 | #define FUEL_TIMING_DESC "Fuel Injection Timing" |
okini3939 | 0:c6f40de7ab86 | 197 | #define FUEL_RATE 0x5E // |
okini3939 | 0:c6f40de7ab86 | 198 | #define FUEL_RATE_DESC "Engine Fuel Rate" |
okini3939 | 0:c6f40de7ab86 | 199 | #define EMISSIONS_STANDARD 0x5F /// |
okini3939 | 0:c6f40de7ab86 | 200 | #define EMISSIONS_STANDARD_DESC "Emmissions Requirements" |
okini3939 | 0:c6f40de7ab86 | 201 | #define DEMANDED_TORQUE 0x61 /// |
okini3939 | 0:c6f40de7ab86 | 202 | #define DEMANDED_TORQUE_DESC "Driver's Demanded Torque - Percent" |
okini3939 | 0:c6f40de7ab86 | 203 | #define ACTUAL_TORQUE 0x62 /// |
okini3939 | 0:c6f40de7ab86 | 204 | #define ACTUAL_TORQUE_DESC "Actual Engine Torque - Percent" |
okini3939 | 0:c6f40de7ab86 | 205 | #define REFERENCE_TORQUE 0x63 // |
okini3939 | 0:c6f40de7ab86 | 206 | #define REFERENCE_TORQUE_DESC "Engine Reference Torque" |
okini3939 | 0:c6f40de7ab86 | 207 | #define ENGINE_PCT_TORQUE 0x64 /// |
okini3939 | 0:c6f40de7ab86 | 208 | #define ENGINE_PCT_TORQUE_DESC "Engine Percent Torque" |
okini3939 | 0:c6f40de7ab86 | 209 | #define AUX_IO_SUPPORTED 0x65 /// |
okini3939 | 0:c6f40de7ab86 | 210 | #define AUX_IO_SUPPORTED_DESC "Auxiliary Input/Output Supported" |
okini3939 | 0:c6f40de7ab86 | 211 | #define P_MAF_SENSOR 0x66 /// |
okini3939 | 0:c6f40de7ab86 | 212 | #define P_ENGINE_COOLANT_T 0x67 /// |
okini3939 | 0:c6f40de7ab86 | 213 | #define P_INTAKE_TEMP 0x68 /// |
okini3939 | 0:c6f40de7ab86 | 214 | #define P_COMMANDED_EGR 0x69 /// |
okini3939 | 0:c6f40de7ab86 | 215 | #define P_COMMANDED_INTAKE 0x6A /// |
okini3939 | 0:c6f40de7ab86 | 216 | #define P_EGR_TEMP 0x6B /// |
okini3939 | 0:c6f40de7ab86 | 217 | #define P_COMMANDED_THROT 0x6C /// |
okini3939 | 0:c6f40de7ab86 | 218 | #define P_FUEL_PRESSURE 0x6D /// |
okini3939 | 0:c6f40de7ab86 | 219 | #define P_FUEL_INJ_PRES 0x6E /// |
okini3939 | 0:c6f40de7ab86 | 220 | #define P_TURBO_PRESSURE 0x6F /// |
okini3939 | 0:c6f40de7ab86 | 221 | #define P_BOOST_PRES_CONT 0x70 /// |
okini3939 | 0:c6f40de7ab86 | 222 | #define P_VGT_CONTROL 0x71 /// |
okini3939 | 0:c6f40de7ab86 | 223 | #define P_WASTEGATE_CONT 0x72 /// |
okini3939 | 0:c6f40de7ab86 | 224 | #define P_EXHAUST_PRESSURE 0x73 /// |
okini3939 | 0:c6f40de7ab86 | 225 | #define P_TURBO_RPM 0x74 /// |
okini3939 | 0:c6f40de7ab86 | 226 | #define P_TURBO_TEMP1 0x75 /// |
okini3939 | 0:c6f40de7ab86 | 227 | #define P_TURBO_TEMP2 0x76 /// |
okini3939 | 0:c6f40de7ab86 | 228 | #define P_CACT 0x77 /// |
okini3939 | 0:c6f40de7ab86 | 229 | #define P_EGT_B1 0x78 /// |
okini3939 | 0:c6f40de7ab86 | 230 | #define P_EGT_B2 0x79 /// |
okini3939 | 0:c6f40de7ab86 | 231 | #define P_DPF1 0x7A /// |
okini3939 | 0:c6f40de7ab86 | 232 | #define P_DPF2 0x7B /// |
okini3939 | 0:c6f40de7ab86 | 233 | #define P_DPF_TEMP 0x7C /// |
okini3939 | 0:c6f40de7ab86 | 234 | #define P_NOX_NTE_STATUS 0x7D /// |
okini3939 | 0:c6f40de7ab86 | 235 | #define P_PM_NTE_STATUS 0x7E /// |
okini3939 | 0:c6f40de7ab86 | 236 | #define P_ENGINE_RUNTUME 0x7F /// |
okini3939 | 0:c6f40de7ab86 | 237 | #define P_ENGINE_AECD_1 0x81 /// |
okini3939 | 0:c6f40de7ab86 | 238 | #define P_ENGINE_AECD_2 0x82 /// |
okini3939 | 0:c6f40de7ab86 | 239 | #define P_NOX_SENSOR 0x83 /// |
okini3939 | 0:c6f40de7ab86 | 240 | #define P_MANIFOLD_TEMP 0x84 /// |
okini3939 | 0:c6f40de7ab86 | 241 | #define P_NOX_SYSTEM 0x85 /// |
okini3939 | 0:c6f40de7ab86 | 242 | #define P_PM_SENSOR 0x86 /// |
okini3939 | 0:c6f40de7ab86 | 243 | #define P_IN_MANIF_TEMP 0x87 /// |
okini3939 | 0:c6f40de7ab86 | 244 | |
okini3939 | 0:c6f40de7ab86 | 245 | #define PID_REQUEST 0x7DF |
okini3939 | 0:c6f40de7ab86 | 246 | #define PID_REPLY 0x7E8 |
okini3939 | 0:c6f40de7ab86 | 247 | |
okini3939 | 0:c6f40de7ab86 | 248 | namespace mbed { |
okini3939 | 0:c6f40de7ab86 | 249 | |
okini3939 | 0:c6f40de7ab86 | 250 | class ecu_reader{ |
okini3939 | 0:c6f40de7ab86 | 251 | |
okini3939 | 0:c6f40de7ab86 | 252 | public: |
okini3939 | 0:c6f40de7ab86 | 253 | |
okini3939 | 0:c6f40de7ab86 | 254 | ecu_reader(PinName rd, PinName td, int can_speed); |
okini3939 | 0:c6f40de7ab86 | 255 | |
okini3939 | 0:c6f40de7ab86 | 256 | unsigned char request(unsigned char pid, float *buffer); |
okini3939 | 0:c6f40de7ab86 | 257 | |
okini3939 | 0:c6f40de7ab86 | 258 | private: |
okini3939 | 0:c6f40de7ab86 | 259 | CAN can2; |
okini3939 | 0:c6f40de7ab86 | 260 | CANMessage can_MsgRx; |
okini3939 | 0:c6f40de7ab86 | 261 | Timer CANTimer; |
okini3939 | 0:c6f40de7ab86 | 262 | int PID020, PID2140, PID4160; //PID Support Masks |
okini3939 | 0:c6f40de7ab86 | 263 | |
okini3939 | 0:c6f40de7ab86 | 264 | int i; |
okini3939 | 0:c6f40de7ab86 | 265 | |
okini3939 | 0:c6f40de7ab86 | 266 | }; |
okini3939 | 0:c6f40de7ab86 | 267 | |
okini3939 | 0:c6f40de7ab86 | 268 | |
okini3939 | 0:c6f40de7ab86 | 269 | |
okini3939 | 0:c6f40de7ab86 | 270 | |
okini3939 | 0:c6f40de7ab86 | 271 | |
okini3939 | 0:c6f40de7ab86 | 272 | } |
okini3939 | 0:c6f40de7ab86 | 273 | |
okini3939 | 0:c6f40de7ab86 | 274 | |
okini3939 | 0:c6f40de7ab86 | 275 | |
okini3939 | 0:c6f40de7ab86 | 276 | #endif |