126 lines
7.3 KiB
C
126 lines
7.3 KiB
C
|
|
//
|
|
// Warning: don't edit - generated by generate_ecu_code.pl processing ../dev/eps_i1.json: EPS 30: Power steering
|
|
// This generated code makes it easier to process CANBUS messages from the EPS ecu in a BMW i3
|
|
//
|
|
|
|
#define I3_ECU_EPS_TX 0x06F130
|
|
#define I3_ECU_EPS_RX 0x0630F1
|
|
|
|
#define I3_PID_EPS_STEUERN_EPS_PULLDRIFT_OFFSET_RESET 0xA2BB
|
|
// Reset EPS pull-drift long-term offset / Reset EPS Pull-Drift Langzeit-Offset
|
|
|
|
// Skipping EPS_PENDELN on 0xAB56 which takes arguments
|
|
|
|
#define I3_PID_EPS_EPS_LENKWINKELSENSOR_KALIBRIERUNG_RESET 0xAB69
|
|
// Start reset steering angle offset / Start Reset Lenkwinkel Offset
|
|
|
|
#define I3_PID_EPS_EPS_INITIALISIERUNG_SERVICE 0xAB6C
|
|
// Start, stop and status initialization routine / Starten, Stoppen und Status Initialisierungsroutine
|
|
|
|
#define I3_RES_EPS_STAT_ROUTINE_STATUS (RXBUF_UCHAR(0))
|
|
#define I3_RES_EPS_STAT_ROUTINE_STATUS_UNIT '0-n'
|
|
#define I3_RES_EPS_STAT_ROUTINE_STATUS_TYPE unsigned char
|
|
// Execution status / Ausführungsstatus
|
|
|
|
#define I3_RES_EPS_STAT_LENKRADWINKEL_WERT (RXBUF_SINT(1))
|
|
#define I3_RES_EPS_STAT_LENKRADWINKEL_WERT_UNIT '°'
|
|
#define I3_RES_EPS_STAT_LENKRADWINKEL_WERT_TYPE short
|
|
// Steering wheel angle / Lenkradwinkel
|
|
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR (RXBUF_SCHAR(3))
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR_UNIT '0-n'
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR_TYPE char
|
|
// Condition sensor pinion angle sensor / Zustand Sensor Ritzelwinkelsensor
|
|
|
|
// Skipping EPS_VERFAHREN on 0xAB71 which takes arguments
|
|
|
|
// Skipping EPS_INITIALISIERUNG_WERK on 0xAB72 which takes arguments
|
|
|
|
#define I3_PID_EPS_STEUERN_EPS_MULTITURNWERT_RESET 0xAB7D
|
|
// Reset EPS multiturn value / Reset EPS Multiturnwert
|
|
|
|
#define I3_PID_EPS_EPS_RITZELWINKELSENSOR 0xDB57
|
|
// Read out data EPS pinion angle / Auslesen Daten EPS Ritzelwinkel
|
|
|
|
#define I3_RES_EPS_STAT_RITZELWINKEL_WERT (RXBUF_SINT32(0)/100.0f)
|
|
#define I3_RES_EPS_STAT_RITZELWINKEL_WERT_UNIT '°'
|
|
#define I3_RES_EPS_STAT_RITZELWINKEL_WERT_TYPE float
|
|
// Pinion angle / Ritzelwinkel
|
|
|
|
#define I3_RES_EPS_STAT_RITZELWINKELGESCHWINDIGKEIT_WERT (RXBUF_SINT(4))
|
|
#define I3_RES_EPS_STAT_RITZELWINKELGESCHWINDIGKEIT_WERT_UNIT '°/s'
|
|
#define I3_RES_EPS_STAT_RITZELWINKELGESCHWINDIGKEIT_WERT_TYPE short
|
|
// Pinion angle angular speed / Ritzelwinkel Winkelgeschwindigkeit
|
|
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR_0XDB57 (RXBUF_SCHAR(6))
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR_0XDB57_UNIT '0-n'
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR_0XDB57_TYPE char
|
|
// Condition sensor pinion angle sensor / Zustand Sensor Ritzelwinkelsensor
|
|
|
|
// Skipping EPS_LENKWINKELSENSOR_KALIBRIERUNG on 0xDB5A which takes arguments
|
|
|
|
#define I3_PID_EPS_EPS_MOMENTENSENSOR 0xDB99
|
|
// Reading out data from the steering torque sensor / Auslesen Daten Sensor Lenkmoment
|
|
|
|
#define I3_RES_EPS_STAT_MOMENT_WERT (RXBUF_SINT(0)/128.0f)
|
|
#define I3_RES_EPS_STAT_MOMENT_WERT_UNIT 'Nm'
|
|
#define I3_RES_EPS_STAT_MOMENT_WERT_TYPE float
|
|
// Current moment / Aktuelles Moment
|
|
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR_0XDB99 (RXBUF_SCHAR(2))
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR_0XDB99_UNIT '0-n'
|
|
#define I3_RES_EPS_STAT_SENSOR_ZUSTAND_NR_0XDB99_TYPE char
|
|
// State of the steering torque sensor / Zustand Sensor Lenkmoment
|
|
|
|
#define I3_PID_EPS_EPS_ZAHNSTANGENMITTE 0xDC77
|
|
// State of rack center learned / Zustand Zahnstangenmitte gelernt
|
|
|
|
#define I3_RES_EPS_STAT_ZAHNSTANGENMITTE_ZUSTAND_NR (RXBUF_UCHAR(0))
|
|
#define I3_RES_EPS_STAT_ZAHNSTANGENMITTE_ZUSTAND_NR_UNIT '0-n'
|
|
#define I3_RES_EPS_STAT_ZAHNSTANGENMITTE_ZUSTAND_NR_TYPE unsigned char
|
|
// State of rack center learned / Zustand Zahnstangenmitte gelernt
|
|
|
|
#define I3_PID_EPS_GELERNTER_ZAHNSTANGENWEG 0xDFDD
|
|
// GELERNTER_ZAHNSTANGENWEG / GELERNTER_ZAHNSTANGENWEG
|
|
|
|
// Can't process STAT_LENKRADWINKEL_LIEFERANT_WERT - don't know type motorola float (*** this will mean all the following offsets are wrong!!! ****)
|
|
|
|
// Can't process STAT_LENKRADWINKEL_AUTOMATISCH_GELERNT_WERT - don't know type motorola float (*** this will mean all the following offsets are wrong!!! ****)
|
|
|
|
#define I3_PID_EPS_READHWMODIFICATIONINDEX 0xF152
|
|
// This service is only used if there has been a slight hardware change on the control unit that did not result
|
|
// in a change in the part number or the hardware SGBM IDs. Such a change cannot be diagnosed from the outside,
|
|
// which is why this service was introduced for it. / Dieser Service kommt nur zum Einsatz, wenn es eine
|
|
// geringfügige Hardwareänderung an dem Steuergerät gegeben hat, die nicht zu einer Änderung der Sachnummer bzw.
|
|
// der Hardware SGBM-IDs geführt hat. Eine solche Änderung ist von außen nicht diagnostizierbar, daher wurde
|
|
// dieser Dienst dafür eingeführt.
|
|
|
|
#define I3_RES_EPS_STAT_HW_MODIFICATION_INDEX_WERT (RXBUF_UCHAR(0))
|
|
#define I3_RES_EPS_STAT_HW_MODIFICATION_INDEX_WERT_UNIT 'HEX'
|
|
#define I3_RES_EPS_STAT_HW_MODIFICATION_INDEX_WERT_TYPE unsigned char
|
|
// Index of hardware modification: FF: Not supported index / Index of hardware modification: FF: Not supported
|
|
// index
|
|
|
|
// BF_22_F152_SUPPLIERINFO is a BITFIELD of size unsigned char. We don't yet generate definitions for each bit, we treat as the host data type
|
|
// Supplier info tab / Tab Supplierinfo
|
|
// STAT_HWMODEL: Mask: 0xC0 - hardware model
|
|
// STAT_SUPPLIERINFOFIELD: Mask: 0x3F - supplierInfo
|
|
#define I3_RES_EPS_BF_22_F152_SUPPLIERINFO (RXBUF_UCHAR(1))
|
|
#define I3_RES_EPS_BF_22_F152_SUPPLIERINFO_UNIT 'Bit'
|
|
#define I3_RES_EPS_BF_22_F152_SUPPLIERINFO_TYPE unsigned char
|
|
// Supplier info tab / Tab Supplierinfo
|
|
|
|
#define I3_PID_EPS_FLASH_UPDATE_MULTITURNZAEHLER 0x1234
|
|
// Flash update of the multiturn counter / Flash Update des Multiturnzählers
|
|
|
|
#define I3_RES_EPS_STAT_SERVICE (RXBUF_UCHAR(0))
|
|
#define I3_RES_EPS_STAT_SERVICE_UNIT '0-n'
|
|
#define I3_RES_EPS_STAT_SERVICE_TYPE unsigned char
|
|
// Status of the service / Status des Service
|
|
|
|
#define I3_RES_EPS_STAT_PIC (RXBUF_UCHAR(1))
|
|
#define I3_RES_EPS_STAT_PIC_UNIT '0-n'
|
|
#define I3_RES_EPS_STAT_PIC_TYPE unsigned char
|
|
// Status of the processor to be flashed / Status des zu flashenden Prozessors
|