├── .gitattributes ├── .gitignore ├── Board test programs ├── canbus-test │ └── canbus-test.ino ├── exhaust-test │ └── exhaust-test.ino └── led-test │ └── led-test.ino ├── CAN messages ├── CIC faceplate UART.txt ├── E-series BN2000 │ ├── 0x130 terminal status.png │ ├── 0x194 Cruise control stalk.txt │ ├── 0x1A0 Speed.txt │ ├── 0x1B8 CCC ZBE.txt │ ├── 0x1B8 ZBE rotary position.txt │ ├── 0x1D2 Gear display.txt │ ├── 0x1D6 Steering Wheel MFL buttons.txt │ ├── 0x1D9 Steering Wheel M button status.txt │ ├── 0x1E7 Seat heating button driver.txt │ ├── 0x202 Dimming.txt │ ├── 0x205 Kombi CC gong.txt │ ├── 0x206 M3 DCT shiftlights.txt │ ├── 0x23A Lock unlock.txt │ ├── 0x24A PDC status.txt │ ├── 0x252 Wiper status.txt │ ├── 0x273 0x277 E zbe cic status response.txt │ ├── 0x273 CIC status.txt │ ├── 0x2B4 Alarm lights control.txt │ ├── 0x2B8 Operation on-board computer and speed warning setting.txt │ ├── 0x2C0 Kombi LCD brightness.txt │ ├── 0x2E6 0x3DF auto climate status.txt │ ├── 0x2F7 Kombi Units.txt │ ├── 0x2FC Door hood boot status.txt │ ├── 0x314 RLS status.txt │ ├── 0x315 trace EDC.txt │ ├── 0x316 DSC switch dsc off.txt │ ├── 0x317 PDC button.txt │ ├── 0x31D FTM status.txt │ ├── 0x326 EDC damper mode.txt │ ├── 0x336 CC list display.txt │ ├── 0x34F Handbrake status.txt │ ├── 0x36D Rear PDC distance.txt │ ├── 0x381 Oil level.txt │ ├── 0x38F 0x39B Rear view camera settings.txt │ ├── 0x398 Traction mode request.txt │ ├── 0x3A8 0x3A9 DME POWER CKM.txt │ ├── 0x3AE Camera control from iDrive.txt │ ├── 0x3AF PDC bus states.txt │ ├── 0x3BD FRM consumer status.txt │ ├── 0x3BE Power supply follow-up time.txt │ ├── 0x3D7 DWA Alarm CKM.txt │ ├── 0x3DB Seat CKM.txt │ ├── 0x3DD Lights CKM.txt │ ├── 0x586 TRSVC CC.txt │ ├── 0x58E SVT status with CC.txt │ ├── 0x5A0 RDC indicator.txt │ ├── 0x5C0 CAS CC-ID 315.txt │ ├── 0x5E2 iDrive settings to KOMBI.txt │ ├── 0xC8 Steering angle.txt │ ├── Check Control.txt │ ├── Diag-KWP2000 │ │ ├── 0x6F1 0x663 Audio Volume.txt │ │ ├── 0x6F1 ASD RAD_ON.txt │ │ ├── 0x6F1 ASD mute.txt │ │ ├── 0x6F1 CAS power-down command.txt │ │ ├── 0x6F1 CIC menu.txt │ │ ├── 0x6F1 CIC sounds.txt │ │ ├── 0x6F1 CIC tone generator.txt │ │ ├── 0x6F1 DME boost.txt │ │ ├── 0x6F1 DWA alarm and LED control.txt │ │ ├── 0x6F1 DWA beep 6x.txt │ │ ├── 0x6F1 EKP control.txt │ │ ├── 0x6F1 FAS_PLX seat move.txt │ │ ├── 0x6F1 FRM AHL status.txt │ │ ├── 0x6F1 FRM DRL PWM.txt │ │ ├── 0x6F1 FRM front fogs PWM.txt │ │ ├── 0x6F1 FRM front fogs all off.txt │ │ ├── 0x6F1 FRM lamp status.txt │ │ ├── 0x6F1 FRM mirror fold-unfold.txt │ │ ├── 0x6F1 FRM mirror status.txt │ │ ├── 0x6F1 FRM mirror undim.txt │ │ ├── 0x6F1 IHKA 5V ON-OFF.txt │ │ ├── 0x6F1 JBF EDC button.txt │ │ ├── 0x6F1 JBF headlight washer.txt │ │ ├── 0x6F1 KOMBI Needles.txt │ │ ├── 0x6F1 KOMBI Time Date.txt │ │ ├── 0x6F1 KOMBI gong.txt │ │ ├── 0x6F1 PDC control RVC.txt │ │ ├── 0x6F1 SINE X Y tilt angle.txt │ │ └── 0x6F1 clear errors.txt │ └── Network management.txt ├── F-series BN2010 │ ├── 0x12F Terminal status.png │ ├── 0x12F Terminal status.txt │ ├── 0x180 X_VIEW data.txt │ ├── 0x1A1 Speed.png │ ├── 0x253 Sport displays data.txt │ ├── 0x291 Unit and format settings.txt │ ├── 0x2C1 PDC status.txt │ ├── 0x2F7 Units.txt │ ├── 0x2F8 Time-date set.txt │ ├── 0x2FB VSW config.txt │ ├── 0x31A PDC bus status request.txt │ ├── 0x338 Custom CC.txt │ ├── 0x369 FTM status.txt │ ├── 0x393 LCD brightness.txt │ ├── 0x3A7 Driving dynamics switch.txt │ ├── 0x3B3 Power management consumer control.png │ ├── 0x3B3 Power management consumer control.txt │ ├── 0x3C Vehicle status │ ├── 0x420 Forward collision warning settings.txt │ ├── 0x42E MDrive status.txt │ ├── 0x42F MDrive settings.txt │ ├── 0x435 Oil level measurement │ ├── 0x45B 0x45C Ambient light setting.txt │ ├── 0x5E3 iDrive settings to other modules.txt │ ├── 0xA1 Faceplate power and eject.txt │ ├── 0xA2 Capacitive buttons.txt │ ├── 0xA3 Faceplate seek buttons.txt │ ├── 0xA5 Torque_1.txt │ ├── 0xF1 Volume knob.txt │ ├── Diag-UDS │ │ ├── 0x6F1 NBT sounds.txt │ │ ├── 0x6F1 NBT volume set.txt │ │ ├── 0x6F1 NBT volume status.txt │ │ ├── 0x6F1 NBTEVO menu.txt │ │ └── 0x6F1 NBTEVO sounds.txt │ └── Network management.txt ├── Message translation for NBT.txt ├── Traces │ ├── E92 M3 DCT 2011 traces │ │ ├── E92 M3 DCT KCAN.csv │ │ ├── Terminal 30G OFF to Terminal R power management KCAN.csv │ │ ├── Terminal R to full 30G cutoff with iDrive ON KCAN.csv │ │ └── car info.txt │ ├── F11 525d 2010 traces │ │ ├── F11 KCAN.csv │ │ ├── F11 KCAN2.csv │ │ ├── F11 PTCAN.csv │ │ └── car info.txt │ └── Other │ │ ├── ZGW2 KCAN2 on its own.csv │ │ └── shiftlight startup animation and KOMBI needle sweep KCAN.csv └── dbc files │ ├── EXX-BN2000.dbc │ └── FXX-BN2010.dbc ├── Documents └── E92 checkcontrol symbols.pdf ├── E9X-M-CAN-Integration-Module ├── E9X-M-CAN-Integration-Module.h ├── E9X-M-CAN-Integration-Module.ino ├── board.ino ├── body-exterior.ino ├── body-interior-hu.ino ├── body-interior.ino ├── chassis.ino ├── deprecated.ino ├── driver-information.ino ├── drivetrain.ino ├── network-management.ino ├── program-functions.ino ├── serial.ino └── src │ ├── CRC │ ├── CHANGELOG.md │ ├── LICENSE │ └── src │ │ ├── CRC16.cpp │ │ ├── CRC16.h │ │ ├── CRC8.cpp │ │ ├── CRC8.h │ │ ├── CrcDefines.h │ │ ├── CrcFastReverse.cpp │ │ ├── CrcFastReverse.h │ │ └── CrcParameters.h │ ├── FlexCAN_T4 │ ├── FlexCAN_T4.h │ ├── FlexCAN_T4.tpp │ ├── LICENSE │ ├── circular_buffer.h │ └── imxrt_flexcan.h │ ├── MCP_CAN_lib │ ├── license.txt │ ├── mcp_can.cpp │ ├── mcp_can.h │ └── mcp_can_dfs.h │ ├── queue │ ├── LICENSE │ ├── cppQueue.cpp │ └── cppQueue.h │ └── wdt4 │ ├── LICENSE │ ├── Watchdog_t4.h │ └── Watchdog_t4.tpp ├── Firmware changes ├── DME MSD81 │ ├── Original CAN filters IKM0S.png │ ├── Original CAN table IKM0S.png │ ├── csprogram-windows.exe │ ├── msd80 sport mode check.png │ └── read.txt └── SVT70 Servotronic │ ├── BDM pinout.jpg │ └── read.txt ├── Images ├── CIC │ ├── idrive-settings.jpg │ └── m-key-settings.jpg ├── EVO │ ├── cc-gauge1.jpg │ ├── cc-gauge2.jpg │ ├── mdrive.jpg │ ├── oil-level.jpg │ └── sport-displays.jpg ├── Fog │ ├── indicator off.jpg │ ├── indicatoron.jpg │ └── light switch.jpg ├── NBT │ ├── IHK buttons pinout.png │ ├── faceplate - pinout.jpg │ ├── fds.jpg │ ├── mdrive.jpg │ ├── oil-level.jpg │ ├── ribbon soldered.jpg │ ├── rpa.jpg │ ├── service.jpg │ └── sport-displays.jpg ├── POWER LED pcb.jpg ├── PTC heater │ └── pwm circuit.jpg ├── board │ ├── board-back.jpg │ └── board.jpg ├── case.jpg ├── cpu-clock-temperature-lifetime.png ├── exhaust-flap-flyback.jpg ├── hdc-msa-buttons.jpg ├── kombi-m.jpg ├── launch-control │ ├── cid.jpg │ └── kombi.jpg └── shiftlight.jpg ├── LICENSE ├── NBT faceplate.txt ├── README.md ├── SVT.xml ├── SVT70 parameter value explanations.txt ├── Variable redline ├── kombi redline.jpg ├── redline graph.png ├── redline settings.png └── variable-redline-ikm0s.xdf ├── Video ├── 2-3k shift lights demo.mp4 ├── shiftlights-startup.mp4 └── standstill shiftlight demo.mp4 ├── coding parameters.txt └── pin assignment.txt /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | secrets.h 2 | custom-settings.h 3 | build/ 4 | .directory -------------------------------------------------------------------------------- /Board test programs/canbus-test/canbus-test.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include "usb_dev.h" 3 | 4 | FlexCAN_T4 KCAN; 5 | FlexCAN_T4 PTCAN; 6 | FlexCAN_T4 DCAN; 7 | 8 | #define DCAN_STBY_PIN 14 9 | #define PTCAN_STBY_PIN 15 10 | 11 | CAN_message_t k_msg, pt_msg, d_msg; 12 | 13 | void setup() 14 | { 15 | KCAN.begin(); 16 | PTCAN.begin(); 17 | DCAN.begin(); 18 | KCAN.setClock(CLK_60MHz); 19 | PTCAN.setClock(CLK_60MHz); 20 | DCAN.setClock(CLK_60MHz); 21 | KCAN.setBaudRate(100000); 22 | PTCAN.setBaudRate(500000); 23 | DCAN.setBaudRate(500000); 24 | KCAN.enableFIFO(); 25 | PTCAN.enableFIFO(); 26 | DCAN.enableFIFO(); 27 | 28 | KCAN.setFIFOFilter(ACCEPT_ALL); 29 | PTCAN.setFIFOFilter(ACCEPT_ALL); 30 | DCAN.setFIFOFilter(ACCEPT_ALL); 31 | 32 | // KCAN.setFIFOFilter(REJECT_ALL); 33 | // KCAN.setFIFOFilter(0, 0xAA, STD); 34 | 35 | // DCAN.setFIFOFilter(REJECT_ALL); 36 | // DCAN.setFIFOFilter(0, 0xAA, STD); 37 | 38 | // PTCAN.setFIFOFilter(REJECT_ALL); 39 | // PTCAN.setFIFOFilter(0, 0xAA, STD); 40 | 41 | pinMode(PTCAN_STBY_PIN, OUTPUT); 42 | pinMode(DCAN_STBY_PIN, OUTPUT); 43 | digitalWrite(PTCAN_STBY_PIN, LOW); 44 | digitalWrite(DCAN_STBY_PIN, LOW); 45 | 46 | if (!(CCM_CCGR6 & CCM_CCGR6_USBOH3(CCM_CCGR_ON))){ 47 | usb_pll_start(); 48 | usb_init(); 49 | } 50 | 51 | while(!Serial); 52 | Serial.println("Program configured, CAN data should follow."); 53 | } 54 | 55 | 56 | void loop() 57 | { 58 | 59 | if (KCAN.read(k_msg)) { 60 | Serial.print(" KCAN: "); 61 | Serial.print(" ID: "); Serial.print(k_msg.id, HEX); 62 | Serial.print(" Buffer: "); 63 | for ( uint8_t i = 0; i < k_msg.len; i++ ) { 64 | Serial.print(k_msg.buf[i], HEX); Serial.print(" "); 65 | } 66 | Serial.println(); 67 | } 68 | 69 | if (PTCAN.read(pt_msg)) { 70 | Serial.print(" PTCAN: "); 71 | Serial.print(" ID: "); Serial.print(pt_msg.id, HEX); 72 | Serial.print(" Buffer: "); 73 | for ( uint8_t i = 0; i < pt_msg.len; i++ ) { 74 | Serial.print(pt_msg.buf[i], HEX); Serial.print(" "); 75 | } 76 | Serial.println(); 77 | } 78 | 79 | if (DCAN.read(d_msg)) { 80 | Serial.print(" DCAN: "); 81 | Serial.print(" ID: "); Serial.print(d_msg.id, HEX); 82 | Serial.print(" Buffer: "); 83 | for ( uint8_t i = 0; i < d_msg.len; i++ ) { 84 | Serial.print(d_msg.buf[i], HEX); Serial.print(" "); 85 | } 86 | Serial.println(); 87 | } 88 | } 89 | 90 | 91 | 92 | CAN_message_t makeMsgBuf(uint16_t txID, uint8_t txLen, uint8_t* txBuf) 93 | { 94 | CAN_message_t tx_msg; 95 | tx_msg.id = txID; 96 | tx_msg.len = txLen; 97 | for (uint8_t i = 0; i < txLen; i++) { 98 | tx_msg.buf[i] = txBuf[i]; 99 | } 100 | return tx_msg; 101 | } 102 | 103 | 104 | void usb_pll_start() { // From startup.c 105 | while (1) { 106 | uint32_t n = CCM_ANALOG_PLL_USB1; // pg 759 107 | if (n & CCM_ANALOG_PLL_USB1_DIV_SELECT) { 108 | CCM_ANALOG_PLL_USB1_CLR = 0xC000; // bypass 24 MHz 109 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_BYPASS; // bypass 110 | CCM_ANALOG_PLL_USB1_CLR = CCM_ANALOG_PLL_USB1_POWER | // power down 111 | CCM_ANALOG_PLL_USB1_DIV_SELECT | // use 480 MHz 112 | CCM_ANALOG_PLL_USB1_ENABLE | // disable 113 | CCM_ANALOG_PLL_USB1_EN_USB_CLKS; // disable usb 114 | continue; 115 | } 116 | if (!(n & CCM_ANALOG_PLL_USB1_ENABLE)) { 117 | // TODO: should this be done so early, or later?? 118 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_ENABLE; 119 | continue; 120 | } 121 | if (!(n & CCM_ANALOG_PLL_USB1_POWER)) { 122 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_POWER; 123 | continue; 124 | } 125 | if (!(n & CCM_ANALOG_PLL_USB1_LOCK)) { 126 | continue; 127 | } 128 | if (n & CCM_ANALOG_PLL_USB1_BYPASS) { 129 | CCM_ANALOG_PLL_USB1_CLR = CCM_ANALOG_PLL_USB1_BYPASS; 130 | continue; 131 | } 132 | if (!(n & CCM_ANALOG_PLL_USB1_EN_USB_CLKS)) { 133 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_EN_USB_CLKS; 134 | continue; 135 | } 136 | return; // everything is as it should be :-) 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /Board test programs/exhaust-test/exhaust-test.ino: -------------------------------------------------------------------------------- 1 | #define EXHAUST_FLAP_SOLENOID_PIN 17 2 | #include "usb_dev.h" 3 | 4 | void setup() 5 | { 6 | pinMode(EXHAUST_FLAP_SOLENOID_PIN, OUTPUT); 7 | if (!(CCM_CCGR6 & CCM_CCGR6_USBOH3(CCM_CCGR_ON))){ 8 | usb_pll_start(); 9 | usb_init(); 10 | } 11 | } 12 | 13 | 14 | void loop() { 15 | digitalWrite(EXHAUST_FLAP_SOLENOID_PIN, HIGH); 16 | Serial.println("Flap closed."); 17 | delay(4000); 18 | digitalWrite(EXHAUST_FLAP_SOLENOID_PIN, LOW); 19 | Serial.println("Flap opened."); 20 | delay(4000); 21 | } 22 | 23 | 24 | void usb_pll_start() { // From startup.c 25 | while (1) { 26 | uint32_t n = CCM_ANALOG_PLL_USB1; // pg 759 27 | if (n & CCM_ANALOG_PLL_USB1_DIV_SELECT) { 28 | CCM_ANALOG_PLL_USB1_CLR = 0xC000; // bypass 24 MHz 29 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_BYPASS; // bypass 30 | CCM_ANALOG_PLL_USB1_CLR = CCM_ANALOG_PLL_USB1_POWER | // power down 31 | CCM_ANALOG_PLL_USB1_DIV_SELECT | // use 480 MHz 32 | CCM_ANALOG_PLL_USB1_ENABLE | // disable 33 | CCM_ANALOG_PLL_USB1_EN_USB_CLKS; // disable usb 34 | continue; 35 | } 36 | if (!(n & CCM_ANALOG_PLL_USB1_ENABLE)) { 37 | // TODO: should this be done so early, or later?? 38 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_ENABLE; 39 | continue; 40 | } 41 | if (!(n & CCM_ANALOG_PLL_USB1_POWER)) { 42 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_POWER; 43 | continue; 44 | } 45 | if (!(n & CCM_ANALOG_PLL_USB1_LOCK)) { 46 | continue; 47 | } 48 | if (n & CCM_ANALOG_PLL_USB1_BYPASS) { 49 | CCM_ANALOG_PLL_USB1_CLR = CCM_ANALOG_PLL_USB1_BYPASS; 50 | continue; 51 | } 52 | if (!(n & CCM_ANALOG_PLL_USB1_EN_USB_CLKS)) { 53 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_EN_USB_CLKS; 54 | continue; 55 | } 56 | return; // everything is as it should be :-) 57 | } 58 | } -------------------------------------------------------------------------------- /Board test programs/led-test/led-test.ino: -------------------------------------------------------------------------------- 1 | #define POWER_LED_PIN 3 2 | #define FOG_LED_PIN 4 3 | #include "usb_dev.h" 4 | 5 | void setup() 6 | { 7 | pinMode(POWER_LED_PIN, OUTPUT); 8 | pinMode(FOG_LED_PIN, OUTPUT); 9 | if (!(CCM_CCGR6 & CCM_CCGR6_USBOH3(CCM_CCGR_ON))){ 10 | usb_pll_start(); 11 | usb_init(); 12 | } 13 | } 14 | 15 | 16 | void loop() { 17 | digitalWrite(POWER_LED_PIN, HIGH); 18 | digitalWrite(FOG_LED_PIN, HIGH); 19 | Serial.println("LEDs ON"); 20 | delay(4000); 21 | digitalWrite(POWER_LED_PIN, LOW); 22 | digitalWrite(FOG_LED_PIN, LOW); 23 | Serial.println("LEDs OFF"); 24 | delay(4000); 25 | } 26 | 27 | 28 | void usb_pll_start() { // From startup.c 29 | while (1) { 30 | uint32_t n = CCM_ANALOG_PLL_USB1; // pg 759 31 | if (n & CCM_ANALOG_PLL_USB1_DIV_SELECT) { 32 | CCM_ANALOG_PLL_USB1_CLR = 0xC000; // bypass 24 MHz 33 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_BYPASS; // bypass 34 | CCM_ANALOG_PLL_USB1_CLR = CCM_ANALOG_PLL_USB1_POWER | // power down 35 | CCM_ANALOG_PLL_USB1_DIV_SELECT | // use 480 MHz 36 | CCM_ANALOG_PLL_USB1_ENABLE | // disable 37 | CCM_ANALOG_PLL_USB1_EN_USB_CLKS; // disable usb 38 | continue; 39 | } 40 | if (!(n & CCM_ANALOG_PLL_USB1_ENABLE)) { 41 | // TODO: should this be done so early, or later?? 42 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_ENABLE; 43 | continue; 44 | } 45 | if (!(n & CCM_ANALOG_PLL_USB1_POWER)) { 46 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_POWER; 47 | continue; 48 | } 49 | if (!(n & CCM_ANALOG_PLL_USB1_LOCK)) { 50 | continue; 51 | } 52 | if (n & CCM_ANALOG_PLL_USB1_BYPASS) { 53 | CCM_ANALOG_PLL_USB1_CLR = CCM_ANALOG_PLL_USB1_BYPASS; 54 | continue; 55 | } 56 | if (!(n & CCM_ANALOG_PLL_USB1_EN_USB_CLKS)) { 57 | CCM_ANALOG_PLL_USB1_SET = CCM_ANALOG_PLL_USB1_EN_USB_CLKS; 58 | continue; 59 | } 60 | return; // everything is as it should be :-) 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /CAN messages/CIC faceplate UART.txt: -------------------------------------------------------------------------------- 1 | Idle: 2 | 3 | 12:44:03.185 -> 55 AA 0 0 FF 0 FF 4 | 12:44:04.182 -> 55 AA 0 0 FF 0 FF 5 | 12:44:05.186 -> 55 AA 0 0 FF 0 FF 6 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x130 terminal status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/CAN messages/E-series BN2000/0x130 terminal status.png -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x194 Cruise control stalk.txt: -------------------------------------------------------------------------------- 1 | 19:42:18.060 -> PTCAN: ID: 194 Buffer: F1 F4 0 FC // Stalk released 2 | 19:42:18.254 -> PTCAN: ID: 194 Buffer: F2 F5 0 FC 3 | 19:42:18.450 -> PTCAN: ID: 194 Buffer: F3 F6 0 FC 4 | 19:42:18.640 -> PTCAN: ID: 194 Buffer: F4 F7 0 FC 5 | 19:42:18.831 -> PTCAN: ID: 194 Buffer: F5 F8 0 FC 6 | 19:42:19.057 -> PTCAN: ID: 194 Buffer: F6 F9 0 FC 7 | 19:42:19.250 -> PTCAN: ID: 194 Buffer: F7 FA 0 FC 8 | 19:42:19.443 -> PTCAN: ID: 194 Buffer: F8 FB 0 FC 9 | 19:42:19.636 -> PTCAN: ID: 194 Buffer: F9 FC 0 FC 10 | 19:42:19.700 -> PTCAN: ID: 194 Buffer: 0B FD 10 FC // Stalk pushed down/up 11 | 19:42:19.764 -> PTCAN: ID: 194 Buffer: 0C FE 10 FC 12 | 19:42:19.796 -> PTCAN: ID: 194 Buffer: FD F0 10 FC 13 | 19:42:19.862 -> PTCAN: ID: 194 Buffer: FE F1 10 FC 14 | 19:42:19.894 -> PTCAN: ID: 194 Buffer: FF F2 10 FC 15 | 19:42:19.960 -> PTCAN: ID: 194 Buffer: 00 F3 10 FC 16 | 19:42:19.992 -> PTCAN: ID: 194 Buffer: 02 F4 10 FC 17 | 19:42:20.056 -> PTCAN: ID: 194 Buffer: 03 F5 10 FC 18 | 19:42:20.120 -> PTCAN: ID: 194 Buffer: 04 F6 10 FC 19 | 19:42:20.153 -> PTCAN: ID: 194 Buffer: 05 F7 10 FC 20 | 19:42:20.217 -> PTCAN: ID: 194 Buffer: 06 F8 10 FC 21 | 19:42:20.249 -> PTCAN: ID: 194 Buffer: 07 F9 10 FC 22 | 19:42:20.313 -> PTCAN: ID: 194 Buffer: 08 FA 10 FC 23 | 19:42:20.346 -> PTCAN: ID: 194 Buffer: 09 FB 10 FC 24 | 19:42:20.410 -> PTCAN: ID: 194 Buffer: 0A FC 10 FC 25 | 19:42:20.443 -> PTCAN: ID: 194 Buffer: 0B FD 10 FC 26 | 19:42:20.506 -> PTCAN: ID: 194 Buffer: 0C FE 10 FC 27 | 19:42:20.571 -> PTCAN: ID: 194 Buffer: FD F0 10 FC 28 | 19:42:20.602 -> PTCAN: ID: 194 Buffer: FE F1 10 FC 29 | 19:42:20.667 -> PTCAN: ID: 194 Buffer: FF F2 10 FC 30 | 19:42:20.699 -> PTCAN: ID: 194 Buffer: 00 F3 10 FC 31 | 19:42:20.763 -> PTCAN: ID: 194 Buffer: 02 F4 10 FC 32 | 19:42:20.794 -> PTCAN: ID: 194 Buffer: 03 F5 10 FC 33 | 19:42:20.859 -> PTCAN: ID: 194 Buffer: F3 F6 0 FC 34 | 19:42:21.053 -> PTCAN: ID: 194 Buffer: F4 F7 0 FC 35 | 19:42:21.246 -> PTCAN: ID: 194 Buffer: F5 F8 0 FC 36 | 19:42:21.471 -> PTCAN: ID: 194 Buffer: F6 F9 0 FC 37 | 19:42:21.664 -> PTCAN: ID: 194 Buffer: F7 FA 0 FC 38 | 19:42:21.856 -> PTCAN: ID: 194 Buffer: F8 FB 0 FC 39 | 19:42:22.049 -> PTCAN: ID: 194 Buffer: F9 FC 0 FC 40 | 19:42:22.243 -> PTCAN: ID: 194 Buffer: FA FD 0 FC 41 | 19:42:22.469 -> PTCAN: ID: 194 Buffer: FB FE 0 FC 42 | 19:42:22.662 -> PTCAN: ID: 194 Buffer: ED F0 0 FC 43 | 19:42:22.856 -> PTCAN: ID: 194 Buffer: EE F1 0 FC 44 | 19:42:23.050 -> PTCAN: ID: 194 Buffer: EF F2 0 FC 45 | 19:42:23.244 -> PTCAN: ID: 194 Buffer: F0 F3 0 FC 46 | 19:42:23.470 -> PTCAN: ID: 194 Buffer: F1 F4 0 FC 47 | 19:42:23.664 -> PTCAN: ID: 194 Buffer: F2 F5 0 FC 48 | 19:42:23.858 -> PTCAN: ID: 194 Buffer: F3 F6 0 FC 49 | 19:42:24.051 -> PTCAN: ID: 194 Buffer: F4 F7 0 FC 50 | 19:42:24.244 -> PTCAN: ID: 194 Buffer: F5 F8 0 FC 51 | 19:42:24.309 -> PTCAN: ID: 194 Buffer: FA F9 4 FC 52 | 19:42:24.342 -> PTCAN: ID: 194 Buffer: FF FA 8 FC 53 | 19:42:24.407 -> PTCAN: ID: 194 Buffer: 0 FB 8 FC // Stalk pushed forward 54 | 19:42:24.471 -> PTCAN: ID: 194 Buffer: 2 FC 8 FC 55 | 19:42:24.503 -> PTCAN: ID: 194 Buffer: 3 FD 8 FC 56 | 19:42:24.567 -> PTCAN: ID: 194 Buffer: 4 FE 8 FC 57 | 19:42:24.600 -> PTCAN: ID: 194 Buffer: F5 F0 8 FC 58 | 19:42:24.664 -> PTCAN: ID: 194 Buffer: F6 F1 8 FC 59 | 19:42:24.700 -> PTCAN: ID: 194 Buffer: F7 F2 8 FC 60 | 19:42:24.761 -> PTCAN: ID: 194 Buffer: F8 F3 8 FC 61 | 19:42:24.793 -> PTCAN: ID: 194 Buffer: F9 F4 8 FC 62 | 19:42:24.858 -> PTCAN: ID: 194 Buffer: FA F5 8 FC 63 | 19:42:24.922 -> PTCAN: ID: 194 Buffer: FB F6 8 FC 64 | 19:42:24.955 -> PTCAN: ID: 194 Buffer: FC F7 8 FC 65 | 19:42:25.019 -> PTCAN: ID: 194 Buffer: FD F8 8 FC 66 | 19:42:25.052 -> PTCAN: ID: 194 Buffer: FE F9 8 FC 67 | 19:42:25.116 -> PTCAN: ID: 194 Buffer: FF FA 8 FC 68 | 19:42:25.148 -> PTCAN: ID: 194 Buffer: 0 FB 8 FC 69 | 19:42:25.211 -> PTCAN: ID: 194 Buffer: 2 FC 8 FC 70 | 19:42:25.244 -> PTCAN: ID: 194 Buffer: 3 FD 8 FC 71 | 19:42:25.309 -> PTCAN: ID: 194 Buffer: 4 FE 8 FC 72 | 19:42:25.341 -> PTCAN: ID: 194 Buffer: F5 F0 8 FC 73 | 19:42:25.405 -> PTCAN: ID: 194 Buffer: F6 F1 8 FC 74 | 19:42:25.470 -> PTCAN: ID: 194 Buffer: F7 F2 8 FC 75 | 19:42:25.502 -> PTCAN: ID: 194 Buffer: F8 F3 8 FC 76 | 19:42:25.567 -> PTCAN: ID: 194 Buffer: F9 F4 8 FC 77 | 19:42:25.599 -> PTCAN: ID: 194 Buffer: FA F5 8 FC 78 | 19:42:25.664 -> PTCAN: ID: 194 Buffer: FB F6 8 FC 79 | 19:42:25.699 -> PTCAN: ID: 194 Buffer: F4 F7 0 FC 80 | 19:42:25.921 -> PTCAN: ID: 194 Buffer: F5 F8 0 FC 81 | 19:42:26.114 -> PTCAN: ID: 194 Buffer: F6 F9 0 FC 82 | 19:42:26.306 -> PTCAN: ID: 194 Buffer: F7 FA 0 FC 83 | 19:42:26.498 -> PTCAN: ID: 194 Buffer: F8 FB 0 FC 84 | 19:42:26.691 -> PTCAN: ID: 194 Buffer: F9 FC 0 FC 85 | 19:42:26.916 -> PTCAN: ID: 194 Buffer: FA FD 0 FC 86 | 19:42:27.111 -> PTCAN: ID: 194 Buffer: FB FE 0 FC 87 | 19:42:27.303 -> PTCAN: ID: 194 Buffer: ED F0 0 FC -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x1A0 Speed.txt: -------------------------------------------------------------------------------- 1 | // In the case of acceleration and yaw values, they are error corrected by the DSC module once the engine is started and the vehicle moves a bit. 2 | 3 | 4 | Indicated speed: 00 Moving: No 5 | 1A0 Buffer: 00 80 00 B0 00 FF 8F 00 6 | Indicated speed: 00 Moving: No 7 | 1A0 Buffer: 00 80 00 B0 00 FF 9F 00 8 | Indicated speed: 00 Moving: No 9 | 1A0 Buffer: 00 80 00 A0 00 FF AF 00 10 | Indicated speed: 00 Moving: No 11 | 12 | 13 | Indicated speed: 18 Moving: Yes 14 | 1A0 Buffer: 9E 90 E4 8F 00 E9 7F 00 // Real speed = 0x09E * 0.1 = 15.8 15 | Indicated speed: 18 Moving: Yes 16 | 1A0 Buffer: 9F 90 EC 7F 00 EC 8F 00 17 | Indicated speed: 18 Moving: Yes 18 | 1A0 Buffer: 9E 90 E8 EF FF F2 9F 00 19 | Indicated speed: 18 Moving: Yes 20 | 1A0 Buffer: 9E 90 F0 EF FF F2 AF 00 21 | 22 | 23 | 24 | Indicated speed: 6 Moving: Yes 25 | 1A0 Buffer: 31 A0 00 E0 00 CF 2F 00 26 | Indicated speed: 6 Moving: Yes 27 | 1A0 Buffer: 31 A0 00 80 01 D2 3F 00 28 | Indicated speed: 6 Moving: Yes 29 | 1A0 Buffer: 32 A0 08 80 01 D2 4F 00 30 | 31 | 32 | 33 | PTCAN: ID: 1A0 Buffer: 00 80 00 E0 FF 13 E0 F6 34 | PTCAN: ID: 1A0 Buffer: 00 80 00 E0 FF 13 50 66 35 | PTCAN: ID: 1A0 Buffer: 00 80 00 E0 FF 13 B0 C6 36 | PTCAN: ID: 1A0 Buffer: 00 80 00 E0 FF 13 20 36 37 | PTCAN: ID: 1A0 Buffer: 00 80 00 E0 FF 13 80 96 38 | PTCAN: ID: 1A0 Buffer: 00 80 00 C0 FF 13 E0 D6 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x1B8 CCC ZBE.txt: -------------------------------------------------------------------------------- 1 | MENU CCC: 2 | 3 | 23:23:42.231 -> KCAN: ID: 1B8 Buffer: F C4 0 0 10 10 4 | 23:23:42.328 -> KCAN: ID: 1B8 Buffer: F C4 0 0 10 10 5 | 23:23:42.360 -> KCAN: ID: 1B8 Buffer: F C0 0 0 10 10 6 | 7 | MENU CIC: 8 | 9 | 23:24:13.921 -> KCAN: ID: 267 Buffer: E1 FD 1 1 C0 1 10 | 23:24:14.018 -> KCAN: ID: 267 Buffer: E1 FD 2 0 C0 1 11 | 23:24:14.179 -> KCAN: ID: 267 Buffer: E1 FD 2 0 C0 1 12 | 23:24:14.339 -> KCAN: ID: 267 Buffer: E1 FD 2 0 C0 1 13 | 14 | 15 | 16 | joystick north CCC: 17 | 18 | 23:38:05.593 -> KCAN: ID: 1B8 Buffer: 0 C0 1C 0 12 10 19 | 23:38:05.689 -> KCAN: ID: 1B8 Buffer: 0 C0 1C 0 12 10 20 | 23:38:05.689 -> KCAN: ID: 1B8 Buffer: F C0 1C 0 12 10 21 | 22 | joystick north CIC: 23 | 24 | 23:38:38.573 -> KCAN: ID: 267 Buffer: E1 FD 1 11 DD 1 25 | 23:38:38.670 -> KCAN: ID: 267 Buffer: E1 FD 1 11 DD 1 26 | 23:38:38.734 -> KCAN: ID: 267 Buffer: E1 FD 2 0 DD 1 27 | 23:38:38.895 -> KCAN: ID: 267 Buffer: E1 FD 2 0 DD 1 28 | 23:38:39.055 -> KCAN: ID: 267 Buffer: E1 FD 2 0 DD 1 29 | 30 | 31 | 32 | joystick press CIC: 33 | 34 | 23:44:44.056 -> KCAN: ID: 267 Buffer: E1 FD D 1 DE 1 35 | 23:44:44.151 -> KCAN: ID: 267 Buffer: E1 FD D 1 DE 1 36 | 23:44:44.184 -> KCAN: ID: 267 Buffer: E1 FD E 0 DE 1 37 | 23:44:44.345 -> KCAN: ID: 267 Buffer: E1 FD E 0 DE 1 38 | 23:44:44.505 -> KCAN: ID: 267 Buffer: E1 FD E 0 DE 1 39 | 40 | 41 | 42 | 43 | Rotation CIC: 44 | 45 | 00:01:00.241 -> KCAN: ID: 264 Buffer: E1 FD 1A 0 80 1E clockwise 46 | 00:01:01.110 -> KCAN: ID: 264 Buffer: E1 FD 1B 1 80 1E 47 | 00:01:01.851 -> KCAN: ID: 264 Buffer: E1 FD 1C 2 80 1E 48 | 00:01:02.400 -> KCAN: ID: 264 Buffer: E1 FD 1D 3 80 1E 49 | 00:01:03.043 -> KCAN: ID: 264 Buffer: E1 FD 1E 4 80 1E 50 | 00:01:03.559 -> KCAN: ID: 264 Buffer: E1 FD 1F 5 80 1E 51 | 00:01:04.298 -> KCAN: ID: 264 Buffer: E1 FD 20 6 80 1E 52 | 00:01:05.521 -> KCAN: ID: 264 Buffer: E1 FD 21 5 80 1E anti-clockwise 53 | 00:01:06.324 -> KCAN: ID: 264 Buffer: E1 FD 22 4 80 1E 54 | 00:01:06.935 -> KCAN: ID: 264 Buffer: E1 FD 23 3 80 1E 55 | 00:01:07.545 -> KCAN: ID: 264 Buffer: E1 FD 24 2 80 1E 56 | 00:01:08.220 -> KCAN: ID: 264 Buffer: E1 FD 25 1 80 1E 57 | 58 | 59 | 60 | Rotation CCC: rotation starts from 1 instead of 0! 61 | 62 | 00:02:39.735 -> KCAN: ID: 1B8 Buffer: F C0 1 0 10 10 clockwise 63 | 00:02:40.345 -> KCAN: ID: 1B8 Buffer: F C0 2 0 10 10 64 | 00:02:40.924 -> KCAN: ID: 1B8 Buffer: F C0 3 0 10 10 65 | 00:02:41.535 -> KCAN: ID: 1B8 Buffer: F C0 4 0 10 10 66 | 00:02:42.145 -> KCAN: ID: 1B8 Buffer: F C0 5 0 10 10 67 | 00:02:42.756 -> KCAN: ID: 1B8 Buffer: F C0 6 0 10 10 68 | 00:02:43.336 -> KCAN: ID: 1B8 Buffer: F C0 7 0 10 10 69 | 00:02:43.882 -> KCAN: ID: 1B8 Buffer: F C0 8 0 10 10 70 | 00:02:44.428 -> KCAN: ID: 1B8 Buffer: F C0 9 0 10 10 71 | 00:02:44.910 -> KCAN: ID: 1B8 Buffer: F C0 A 0 10 10 72 | 00:02:45.871 -> KCAN: ID: 1B8 Buffer: F C0 9 0 10 10 anti-clockwise 73 | 00:02:46.322 -> KCAN: ID: 1B8 Buffer: F C0 8 0 10 10 74 | 00:02:47.093 -> KCAN: ID: 1B8 Buffer: F C0 7 0 10 10 75 | 00:02:47.511 -> KCAN: ID: 1B8 Buffer: F C0 6 0 10 10 76 | 00:02:47.831 -> KCAN: ID: 1B8 Buffer: F C0 5 0 10 10 77 | 00:02:48.088 -> KCAN: ID: 1B8 Buffer: F C0 4 0 10 10 78 | 00:02:48.314 -> KCAN: ID: 1B8 Buffer: F C0 3 0 10 10 79 | 00:02:48.540 -> KCAN: ID: 1B8 Buffer: F C0 2 0 10 10 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x1B8 ZBE rotary position.txt: -------------------------------------------------------------------------------- 1 | 2 | // startup, untouched 3 | 23:37:47.152 -> KCAN: ID: 1B8 Buffer: F C0 0 0 10 10 4 | 23:37:49.243 -> KCAN: ID: 1B8 Buffer: F C0 0 0 11 10 5 | 23:37:49.339 -> KCAN: ID: 1B8 Buffer: F C0 0 0 12 10 6 | 23:37:49.371 -> KCAN: ID: 1B8 Buffer: F C0 0 0 13 10 7 | 23:37:49.437 -> KCAN: ID: 1B8 Buffer: F C0 0 0 14 10 8 | 23:37:49.694 -> KCAN: ID: 1B8 Buffer: F C0 0 0 15 10 9 | 10 | 23:38:06.646 -> KCAN: ID: 1B8 Buffer: F C0 0 0 16 10 11 | 12 | 13 | sent on terminal R change: 14 | 15 | 23:38:38.237 -> KCAN: ID: 1B8 Buffer: F C0 0 0 17 10 16 | 23:38:46.313 -> KCAN: ID: 1B8 Buffer: F C0 0 0 18 10 17 | 18 | 19 | 20 | clockwise 5 times: 21 | 22 | 23:39:15.035 -> KCAN: ID: 1B8 Buffer: F C0 1 0 18 10 23 | 23:39:15.711 -> KCAN: ID: 1B8 Buffer: F C0 2 0 18 10 24 | 23:39:16.483 -> KCAN: ID: 1B8 Buffer: F C0 3 0 18 10 25 | 23:39:17.320 -> KCAN: ID: 1B8 Buffer: F C0 4 0 18 10 26 | 23:39:18.092 -> KCAN: ID: 1B8 Buffer: F C0 5 0 18 10 27 | 28 | 29 | 30 | anti-clockwise 6 times: 31 | 32 | 23:39:37.743 -> KCAN: ID: 1B8 Buffer: F C0 4 0 18 10 33 | 23:39:38.226 -> KCAN: ID: 1B8 Buffer: F C0 3 0 18 10 34 | 23:39:38.677 -> KCAN: ID: 1B8 Buffer: F C0 2 0 18 10 35 | 23:39:39.158 -> KCAN: ID: 1B8 Buffer: F C0 1 0 18 10 36 | 23:39:39.738 -> KCAN: ID: 1B8 Buffer: F C0 0 0 18 10 37 | 23:39:41.345 -> KCAN: ID: 1B8 Buffer: F C0 FF FF 18 10 38 | 39 | 40 | 41 | 42 | after many rotations: 43 | 44 | 23:40:10.097 -> KCAN: ID: 1B8 Buffer: F C0 EC 0 18 10 45 | 23:40:10.129 -> KCAN: ID: 1B8 Buffer: F C0 D 1 18 10 46 | 23:40:10.194 -> KCAN: ID: 1B8 Buffer: F C0 17 1 18 10 47 | 23:40:10.226 -> KCAN: ID: 1B8 Buffer: F C0 1C 1 18 10 48 | 23:40:10.548 -> KCAN: ID: 1B8 Buffer: F C0 1D 1 18 10 49 | 23:40:11.125 -> KCAN: ID: 1B8 Buffer: F C0 1E 1 18 10 50 | 23:40:11.190 -> KCAN: ID: 1B8 Buffer: F C0 1F 1 18 10 51 | 23:40:11.254 -> KCAN: ID: 1B8 Buffer: F C0 20 1 18 10 52 | 23:40:11.286 -> KCAN: ID: 1B8 Buffer: F C0 21 1 18 10 53 | 23:40:11.350 -> KCAN: ID: 1B8 Buffer: F C0 22 1 18 10 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x1D2 Gear display.txt: -------------------------------------------------------------------------------- 1 | To display SPORT in KOMBI: 2 | 3 | 4 | // If MOTORSPORT is set to wert_01, SPORT_ANZEIGE doesn't work. If SPORT_ANZEIGE is aktiv and MOTORSPORT is set to wert_02, the M LED does not work 5 | SPORT_ANZEIGE 6 | aktiv 7 | MOTORSPORT 8 | wert_02 9 | 10 | 11 | // ON 12 | uint8_t sport_on[] = {0, 0, 0, 4, 0, 0, 0}; 13 | ptcan_write_msg(make_msg_buf(0x1D2, 6, sport_on)); 14 | 15 | 16 | // OFF 17 | uint8_t sport_off[] = {0, 0, 0, 0, 0, 0, 0}; 18 | ptcan_write_msg(make_msg_buf(0x1D2, 6, sport_off)); -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x1D6 Steering Wheel MFL buttons.txt: -------------------------------------------------------------------------------- 1 | 13:11:34.293 -> MFL: 0xC0 0x0C 2 | 13:11:35.310 -> MFL: 0xC0 0x0C 3 | 13:11:35.616 -> MFL: 0xC0 0x4C mdrive button pressed 4 | 13:11:35.718 -> MFL: 0xC0 0x0C 5 | 13:11:36.533 -> MFL: 0xC0 0x4C mdrive button pressed 6 | 13:11:36.635 -> MFL: 0xC0 0x4C mdrive button pressed 7 | 13:11:36.703 -> MFL: 0xC0 0x0C 8 | 13:11:37.485 -> MFL: 0xC0 0x4C mdrive button pressed 9 | 13:11:37.585 -> MFL: 0xC0 0x0C 10 | 13:11:38.603 -> MFL: 0xC0 0x0C 11 | 13:11:39.587 -> MFL: 0xC0 0x0C 12 | 13:11:40.606 -> MFL: 0xC0 0x0C 13 | 13:11:40.808 -> MFL: 0xC0 0x4C mdrive button pressed 14 | 13:11:40.909 -> MFL: 0xC0 0x4C mdrive button pressed 15 | 13:11:41.011 -> MFL: 0xC0 0x0C 16 | 13:11:41.793 -> MFL: 0xC0 0x4C mdrive button pressed 17 | 13:11:41.895 -> MFL: 0xC0 0x0C 18 | 13:11:42.881 -> MFL: 0xC0 0x0C 19 | 13:11:43.901 -> MFL: 0xC0 0x0C 20 | 13:11:44.887 -> MFL: 0xC0 0x0C 21 | 13:11:45.905 -> MFL: 0xC0 0x0C 22 | 13:11:46.313 -> MFL: 0xC0 0x4C mdrive button pressed 23 | 13:11:46.415 -> MFL: 0xC0 0x0C 24 | 13:11:47.434 -> MFL: 0xC0 0x0C 25 | 13:11:48.416 -> MFL: 0xC0 0x0C 26 | 13:11:49.435 -> MFL: 0xC0 0x0C 27 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x1E7 Seat heating button driver.txt: -------------------------------------------------------------------------------- 1 | // Single press. 2 | 3 | 22:30:59.440 -> FA seat: 0xFD 0xFF 4 | 22:30:59.542 -> FA seat: 0xFC 0xFF 5 | 22:30:59.678 -> FA seat: 0xFC 0xFF 6 | 22:30:59.848 -> FA seat: 0xFC 0xFF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x202 Dimming.txt: -------------------------------------------------------------------------------- 1 | FE FF // No dimming. Interior lighting inactive. 2 | 3 | 00 FF // below min 4 | 5 | 1C FF // Box 1 / min 6 | 7 | 38 FF // Box 2 8 | 9 | 54 FF // Box 3 10 | 11 | 70 FF // Box 4 12 | 13 | 8D FF // Box 5 14 | 15 | A9 FF // Box 6 16 | 17 | C5 FF // Box 7 18 | 19 | E1 FF // Box 8 20 | 21 | FD FF // Box 9 / max 22 | 23 | 24 | 25 | This message is sent one-way by the KOMBI. It cannot be adjusted. -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x205 Kombi CC gong.txt: -------------------------------------------------------------------------------- 1 | 17:32:50.077 -> KCAN: ID: 205 Buffer: F1 FF // Single gong active 2 | 17:32:50.464 -> KCAN: ID: 205 Buffer: F1 FF 3 | 17:32:50.881 -> KCAN: ID: 205 Buffer: F1 FF 4 | 17:32:51.266 -> KCAN: ID: 205 Buffer: F1 FF 5 | 17:32:51.684 -> KCAN: ID: 205 Buffer: F1 FF 6 | 17:32:52.071 -> KCAN: ID: 205 Buffer: F1 FF 7 | 17:32:52.489 -> KCAN: ID: 205 Buffer: F1 FF 8 | 17:32:52.874 -> KCAN: ID: 205 Buffer: F1 FF 9 | 17:32:53.068 -> KCAN: ID: 205 Buffer: F0 FF // Gong OFF 10 | 11 | KCAN: ID: 205 Buffer: F2 FF // Double gong active 12 | 13 | KCAN: ID: 205 Buffer: F3 FF // Long, triple gong active. Same as F8 FF. 14 | 15 | KCAN: ID: 205 Buffer: F5 FF // Double beep from collision warning 16 | 17 | KCAN: ID: 205 Buffer: FA FF // Four beeps in quick succession 18 | 19 | KCAN: ID: 205 Buffer: FB FF // Two double gongs 20 | 21 | KCAN: ID: 205 Buffer: FD FF // Single horn sound -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x206 M3 DCT shiftlights.txt: -------------------------------------------------------------------------------- 1 | 16:19:27.844 -> Standard ID: 0x206 DLC: 2 Data: 0x86 0x3E // Each one of these messages turns on one segment including reds. 1000ms between segments. 2 | 16:19:28.013 -> Standard ID: 0x206 DLC: 2 Data: 0x86 0x3E 3 | 16:19:28.115 -> Standard ID: 0x206 DLC: 2 Data: 0xB6 0x00 // Turns on segments sequentially all the way. 11ms between segments. 4 | 16:19:28.251 -> Standard ID: 0x206 DLC: 2 Data: 0xB6 0x00 5 | 16:19:28.421 -> Standard ID: 0x206 DLC: 2 Data: 0xB6 0x00 6 | 16:19:28.930 -> Standard ID: 0x206 DLC: 2 Data: 0x05 0x00 // OFF 7 | 16:19:29.099 -> Standard ID: 0x206 DLC: 2 Data: 0x05 0x00 8 | 16:19:29.235 -> Standard ID: 0x206 DLC: 2 Data: 0x05 0x00 9 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x23A Lock unlock.txt: -------------------------------------------------------------------------------- 1 | Unlock pressed: 2 | 3 | 22:10:10.998 -> KCAN: TS: 54368 ID: 23A Buffer: 22 30 1 62 4 | 22:10:11.030 -> KCAN: TS: 59857 ID: 23A Buffer: 22 30 1 62 5 | 22:10:11.126 -> KCAN: TS: 2816 ID: 23A Buffer: 22 30 1 62 6 | 22:10:11.222 -> KCAN: TS: 12954 ID: 23A Buffer: 22 30 0 62 7 | 8 | 9 | 10 | Lock pressed: 11 | 12 | 22:10:41.594 -> KCAN: TS: 34152 ID: 23A Buffer: 22 30 4 62 13 | 22:10:41.626 -> KCAN: TS: 39663 ID: 23A Buffer: 22 30 4 62 14 | 22:10:41.722 -> KCAN: TS: 48210 ID: 23A Buffer: 22 30 4 62 15 | 22:10:41.818 -> KCAN: TS: 58151 ID: 23A Buffer: 22 30 4 62 16 | 22:10:41.914 -> KCAN: TS: 2623 ID: 23A Buffer: 22 30 4 62 17 | 22:10:42.011 -> KCAN: TS: 12616 ID: 23A Buffer: 22 30 4 62 18 | 22:10:42.139 -> KCAN: TS: 22623 ID: 23A Buffer: 22 30 4 62 19 | 22:10:42.236 -> KCAN: TS: 32615 ID: 23A Buffer: 22 30 4 62 20 | 22:10:42.333 -> KCAN: TS: 42622 ID: 23A Buffer: 22 33 0 62 21 | 22 | 23 | Trunk: 24 | 25 | 22:11:52.738 -> KCAN: TS: 4851 ID: 23A Buffer: 22 30 10 62 26 | 22:11:52.834 -> KCAN: TS: 14864 ID: 23A Buffer: 22 30 10 62 27 | 22:11:52.930 -> KCAN: TS: 24851 ID: 23A Buffer: 22 30 10 62 28 | 22:11:53.026 -> KCAN: TS: 34844 ID: 23A Buffer: 22 30 10 62 29 | 22:11:53.090 -> KCAN: TS: 40355 ID: 23A Buffer: 22 30 0 62 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x24A PDC status.txt: -------------------------------------------------------------------------------- 1 | 00:46:50.751 -> KCAN: ID: 24A Buffer: 6 FF 2 | 00:46:52.808 -> KCAN: ID: 24A Buffer: 6 FF 3 | 00:46:54.836 -> KCAN: ID: 24A Buffer: 6 FF 4 | 00:46:56.509 -> KCAN: ID: 24A Buffer: 5 FF // ON 5 | 00:46:56.896 -> KCAN: ID: 24A Buffer: 5 FF 6 | 00:46:58.925 -> KCAN: ID: 24A Buffer: 5 FF 7 | 00:47:00.985 -> KCAN: ID: 24A Buffer: 5 FF 8 | 00:47:01.497 -> KCAN: ID: 24A Buffer: 6 FF // OFF 9 | 00:47:03.042 -> KCAN: ID: 24A Buffer: 6 FF 10 | 00:47:05.070 -> KCAN: ID: 24A Buffer: 6 FF 11 | 00:47:07.130 -> KCAN: ID: 24A Buffer: 6 FF 12 | 00:47:09.189 -> KCAN: ID: 24A Buffer: 6 FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x252 Wiper status.txt: -------------------------------------------------------------------------------- 1 | Byte0: 2x CD sent when wipers start moving, 2 x CE sent when they finish the cycle. CE is also sent while the engine is cranking. 2 | 3 | Intermittent times: 4 | 5 | Car stopped: 6 | 20:23:15.920 -> New wiper speed setting 1. 7 | 20:23:18.400 -> Wiper state KCAN: ID: 252 Buffer: CD FF 8 | 20:23:18.464 -> Wiper state KCAN: ID: 252 Buffer: CD FF 9 | 20:23:19.750 -> Wiper state KCAN: ID: 252 Buffer: CE FF 10 | 20:23:19.814 -> Wiper state KCAN: ID: 252 Buffer: CE FF 11 | 20:23:43.910 -> Wiper state KCAN: ID: 252 Buffer: CD FF // Interval 25s 12 | 20:23:43.974 -> Wiper state KCAN: ID: 252 Buffer: CD FF 13 | 20:23:45.260 -> Wiper state KCAN: ID: 252 Buffer: CE FF 14 | 20:23:45.324 -> Wiper state KCAN: ID: 252 Buffer: CE FF 15 | 16 | 20:23:54.999 -> New wiper speed setting 2. 17 | 20:23:55.191 -> Wiper state KCAN: ID: 252 Buffer: CD FF 18 | 20:23:55.256 -> Wiper state KCAN: ID: 252 Buffer: CD FF 19 | 20:23:56.544 -> Wiper state KCAN: ID: 252 Buffer: CE FF 20 | 20:23:56.576 -> Wiper state KCAN: ID: 252 Buffer: CE FF 21 | 20:24:12.202 -> Wiper state KCAN: ID: 252 Buffer: CD FF // Interval 17s 22 | 20:24:12.266 -> Wiper state KCAN: ID: 252 Buffer: CD FF 23 | 20:24:13.553 -> Wiper state KCAN: ID: 252 Buffer: CE FF 24 | 20:24:13.586 -> Wiper state KCAN: ID: 252 Buffer: CE FF 25 | 26 | 20:24:19.983 -> New wiper speed setting 3. 27 | 20:24:20.142 -> Wiper state KCAN: ID: 252 Buffer: CD FF 28 | 20:24:20.206 -> Wiper state KCAN: ID: 252 Buffer: CD FF 29 | 20:24:21.529 -> Wiper state KCAN: ID: 252 Buffer: CE FF 30 | 20:24:21.558 -> Wiper state KCAN: ID: 252 Buffer: CE FF 31 | 20:24:30.176 -> Wiper state KCAN: ID: 252 Buffer: CD FF // Interval 10s 32 | 20:24:30.208 -> Wiper state KCAN: ID: 252 Buffer: CD FF 33 | 20:24:31.493 -> Wiper state KCAN: ID: 252 Buffer: CE FF 34 | 20:24:31.558 -> Wiper state KCAN: ID: 252 Buffer: CE FF 35 | 36 | 20:24:38.245 -> New wiper speed setting 5. 37 | 20:24:38.439 -> Wiper state KCAN: ID: 252 Buffer: CD FF 38 | 20:24:38.504 -> Wiper state KCAN: ID: 252 Buffer: CD FF 39 | 20:24:39.788 -> Wiper state KCAN: ID: 252 Buffer: CE FF 40 | 20:24:39.853 -> Wiper state KCAN: ID: 252 Buffer: CE FF 41 | 20:24:43.451 -> Wiper state KCAN: ID: 252 Buffer: CD FF // Interval 5s 42 | 20:24:43.515 -> Wiper state KCAN: ID: 252 Buffer: CD FF 43 | 20:24:44.801 -> Wiper state KCAN: ID: 252 Buffer: CE FF 44 | 20:24:44.833 -> Wiper state KCAN: ID: 252 Buffer: CE FF 45 | 46 | 47 | 48 | 49 | Car moving slowly: 50 | 20:31:02.973 -> New wiper speed setting 1. 51 | 20:32:57.615 -> Wiper state KCAN: ID: 252 Buffer: CD FF 52 | 20:32:57.679 -> Wiper state KCAN: ID: 252 Buffer: CD FF 53 | 20:32:58.838 -> Wiper state KCAN: ID: 252 Buffer: CE FF 54 | 20:32:58.903 -> Wiper state KCAN: ID: 252 Buffer: CE FF 55 | 20:33:16.614 -> Wiper state KCAN: ID: 252 Buffer: CD FF // Interval 19s 56 | 20:33:16.680 -> Wiper state KCAN: ID: 252 Buffer: CD FF 57 | 20:33:17.804 -> Wiper state KCAN: ID: 252 Buffer: CE FF 58 | 20:33:17.836 -> Wiper state KCAN: ID: 252 Buffer: CE FF 59 | 20:33:20.248 -> New wiper speed setting 2. 60 | 20:33:20.410 -> Wiper state KCAN: ID: 252 Buffer: CD FF 61 | 20:33:20.441 -> Wiper state KCAN: ID: 252 Buffer: CD FF 62 | 20:33:21.567 -> Wiper state KCAN: ID: 252 Buffer: CE FF 63 | 20:33:21.632 -> Wiper state KCAN: ID: 252 Buffer: CE FF 64 | 20:33:32.413 -> Wiper state KCAN: ID: 252 Buffer: CD FF // Interval 12s 65 | 20:33:32.477 -> Wiper state KCAN: ID: 252 Buffer: CD FF 66 | 20:33:33.573 -> Wiper state KCAN: ID: 252 Buffer: CE FF 67 | 20:33:33.638 -> Wiper state KCAN: ID: 252 Buffer: CE FF 68 | 20:33:43.527 -> New wiper speed setting 3. 69 | 20:33:45.168 -> Wiper state KCAN: ID: 252 Buffer: CD FF 70 | 20:33:45.232 -> Wiper state KCAN: ID: 252 Buffer: CD FF 71 | 20:33:46.391 -> Wiper state KCAN: ID: 252 Buffer: CE FF 72 | 20:33:46.455 -> Wiper state KCAN: ID: 252 Buffer: CE FF 73 | 20:33:51.189 -> Wiper state KCAN: ID: 252 Buffer: CD FF // Interval 6s 74 | 20:33:51.222 -> Wiper state KCAN: ID: 252 Buffer: CD FF 75 | 20:33:52.381 -> Wiper state KCAN: ID: 252 Buffer: CE FF 76 | 20:33:52.413 -> Wiper state KCAN: ID: 252 Buffer: CE FF 77 | 20:33:58.981 -> New wiper speed setting 5. 78 | 20:33:59.142 -> Wiper state KCAN: ID: 252 Buffer: CD FF 79 | 20:33:59.206 -> Wiper state KCAN: ID: 252 Buffer: CD FF 80 | 20:34:00.334 -> Wiper state KCAN: ID: 252 Buffer: CE FF 81 | 20:34:00.366 -> Wiper state KCAN: ID: 252 Buffer: CE FF 82 | 20:34:02.172 -> Wiper state KCAN: ID: 252 Buffer: CD FF // Interval 3s 83 | 20:34:02.235 -> Wiper state KCAN: ID: 252 Buffer: CD FF 84 | 20:34:03.330 -> Wiper state KCAN: ID: 252 Buffer: CE FF 85 | 20:34:03.394 -> Wiper state KCAN: ID: 252 Buffer: CE FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x273 0x277 E zbe cic status response.txt: -------------------------------------------------------------------------------- 1 | 18:09:54.257 -> Entering Configuration Mode Successful! 2 | 18:09:54.257 -> Setting Baudrate Successful! 3 | 18:09:54.257 -> MCP2515 Initialized Successfully! 4 | 18:09:54.257 -> MCP2515 Library Receive Example... 5 | 18:09:56.973 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x21 6 | 18:09:56.973 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x21 0xFF 7 | 18:09:57.142 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x21 0xFF 8 | 18:09:57.311 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x21 0xFF 9 | 18:10:04.774 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x22 10 | 18:10:04.774 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x22 0xFF 11 | 18:10:04.909 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x22 0xFF 12 | 18:10:05.079 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x22 0xFF 13 | 18:10:17.363 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x24 14 | 18:10:17.363 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x24 0xFF 15 | 18:10:17.533 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x24 0xFF 16 | 18:10:17.702 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x24 0xFF 17 | 18:10:19.062 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x25 18 | 18:10:19.062 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x25 0xFF 19 | 18:10:19.198 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x25 0xFF 20 | 18:10:19.368 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x25 0xFF 21 | 18:11:26.889 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x26 22 | 18:11:26.889 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x26 0xFF 23 | 18:11:27.057 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x26 0xFF 24 | 18:11:27.192 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x26 0xFF 25 | 18:11:28.789 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x27 26 | 18:11:28.789 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x27 0xFF 27 | 18:11:28.925 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x27 0xFF 28 | 18:11:29.094 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x27 0xFF 29 | 18:11:31.772 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x28 30 | 18:11:31.772 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x28 0xFF 31 | 18:11:31.940 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x28 0xFF 32 | 18:11:32.075 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x28 0xFF 33 | 18:11:36.515 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x29 34 | 18:11:36.549 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x29 0xFF 35 | 18:11:36.684 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x29 0xFF 36 | 18:11:36.855 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x29 0xFF 37 | 18:12:19.815 -> Standard ID: 0x273 DLC: 8 Data: 0x1D 0xE1 0x00 0xF0 0xFF 0x7F 0xDE 0x2B 38 | 18:12:19.815 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x2B 0xFF 39 | 18:12:19.984 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x2B 0xFF 40 | 18:12:20.120 -> Standard ID: 0x277 DLC: 4 Data: 0xE1 0x9D 0x2B 0xFF 41 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x273 CIC status.txt: -------------------------------------------------------------------------------- 1 | 21:41:23.809 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 1F 2 | 21:41:25.802 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 20 3 | 21:41:27.797 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 21 4 | 21:41:29.822 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 22 5 | 21:41:31.816 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 23 6 | 21:41:33.812 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 24 7 | 21:41:35.809 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 25 8 | 21:41:37.804 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 26 9 | 21:41:39.830 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 27 10 | 21:41:41.822 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 28 11 | 21:41:43.816 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 29 12 | 21:41:45.841 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 2A 13 | 21:41:47.835 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 2B 14 | 21:41:49.828 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 2C 15 | 21:41:51.825 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 2D 16 | 21:41:53.849 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 2E 17 | 21:41:55.843 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 2F 18 | 21:41:57.836 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 30 19 | 21:41:59.861 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 31 20 | 21:42:01.855 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 32 21 | 21:42:03.850 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 33 22 | 21:42:05.842 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 34 23 | 21:42:07.835 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 35 24 | 21:42:09.860 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 36 25 | 21:42:11.500 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 37 26 | 21:42:11.855 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 38 - force reset 27 | 28 | 29 | 21:42:30.896 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 1 - rebooted 30 | 21:42:31.410 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 2 31 | 21:42:32.476 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 3 32 | 21:42:32.791 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 4 33 | 21:42:34.462 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 5 34 | 21:42:36.458 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 6 35 | 21:42:38.483 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 7 36 | 21:42:40.473 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 8 37 | 21:42:42.466 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 9 38 | 21:42:44.752 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE A 39 | 21:42:46.715 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE B 40 | 21:42:48.736 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE C 41 | 21:42:50.730 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE D 42 | 21:42:52.724 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE E 43 | 21:42:54.717 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE F 44 | 21:42:56.742 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 10 45 | 21:42:58.736 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 11 46 | 21:43:00.762 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 12 47 | 21:43:02.756 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 13 48 | 21:43:04.749 -> KCAN: ID: 273 Buffer: 1D E1 0 F0 FF 7F DE 14 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x2B4 Alarm lights control.txt: -------------------------------------------------------------------------------- 1 | 20:34:57.265 -> KCAN: ID: 2B4 Buffer: 0 F1 // Locked 2 | 20:34:57.458 -> KCAN: ID: 2B4 Buffer: 0 F1 3 | 20:34:57.682 -> KCAN: ID: 2B4 Buffer: 0 F1 4 | 20:35:04.272 -> KCAN: ID: 2B4 Buffer: 0 F2 // Unlocked 5 | 20:35:04.465 -> KCAN: ID: 2B4 Buffer: 0 F2 6 | 20:35:04.689 -> KCAN: ID: 2B4 Buffer: 0 F2 7 | 8 | 9 | 20:36:02.844 -> KCAN: ID: 2B4 Buffer: 5 F0 // Alarm triggered (indicators flashing) 10 | 20:36:03.035 -> KCAN: ID: 2B4 Buffer: 5 F0 11 | 20:36:03.229 -> KCAN: ID: 2B4 Buffer: 5 F0 12 | 20:36:04.128 -> KCAN: ID: 2B4 Buffer: 0 F0 // Alarm off 13 | 20:36:04.321 -> KCAN: ID: 2B4 Buffer: 0 F0 14 | 20:36:04.544 -> KCAN: ID: 2B4 Buffer: 0 F0 15 | 16 | 17 | 18 | Byte1 second half: 19 | 20 | 1 - single flash 21 | 2 - double flash 22 | 3 - long single flash 23 | 24 | 25 | Byte0 second half: 26 | 27 | 0 - all off 28 | 1, 9 - hazards flash continuously 29 | 2, 0xA - xenon flash to pass on continuously 30 | 3, 0xB - xenons + hazards flash continuously 31 | 4, 0xC - angel eyes flash continuously 32 | 5, 0xD - angel eyes + hazards flash continuously 33 | 6, 0xE - xenons + angel eyes flash continuously 34 | 7, 0xF - xenons + angel eyes + hazards flash continuously -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x2B8 Operation on-board computer and speed warning setting.txt: -------------------------------------------------------------------------------- 1 | 7E FE FF FE FF EE // ON 2 | 3E FE FF FE FF EE // OFF 3 | 4 | 7E 06 F0 FE FF EE // ON, 6kph 5 | 7E 32 F0 FE FF EE // ON, 50kph 6 | 7E 64 F0 FE FF EE // ON, 100kph 7 | 7E FF F0 FE FF EE // ON, 255kph 8 | 7E 4A F1 FE FF EE // ON, 330kph 9 | 10 | 7E FD FF FE FF EE // Select current speed as limit (when not moving) 11 | 12 | 13 | 14 | KOMBI responds on 0x35C: 15 | xx 60 00 xx // OFF, speed set to 6kph 16 | xx 61 00 xx // ON, speed set to 6kph 17 | xx 21 03 xx // ON, speed set to 50kph 18 | xx F1 0F xx // ON, speed set to 255kph 19 | xx A1 14 xx // ON, speed set to 330kph -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x2C0 Kombi LCD brightness.txt: -------------------------------------------------------------------------------- 1 | 00:00:26.592 -> KCAN: ID: 2C0 Buffer: 3F 0 3 // Darkness 2 | 00:00:36.607 -> KCAN: ID: 2C0 Buffer: 3F 81 3 3 | 00:00:46.614 -> KCAN: ID: 2C0 Buffer: 3F 81 2 4 | 00:00:56.622 -> KCAN: ID: 2C0 Buffer: 3F 81 2 5 | 00:01:03.825 -> KCAN: ID: 2C0 Buffer: 3F 7F FE // Bright light in front of kombi 6 | 00:01:04.371 -> KCAN: ID: 2C0 Buffer: 88 0 FE 7 | 00:01:04.725 -> KCAN: ID: 2C0 Buffer: 88 7F FE 8 | 00:01:05.014 -> KCAN: ID: 2C0 Buffer: B1 0 FE 9 | 00:01:05.656 -> KCAN: ID: 2C0 Buffer: B1 7F FE 10 | 00:01:05.913 -> KCAN: ID: 2C0 Buffer: D4 0 FE 11 | 00:01:07.457 -> KCAN: ID: 2C0 Buffer: D4 7F FE 12 | 00:01:07.681 -> KCAN: ID: 2C0 Buffer: F4 0 FE 13 | 00:01:13.789 -> KCAN: ID: 2C0 Buffer: F4 E0 5 14 | 00:01:19.418 -> KCAN: ID: 2C0 Buffer: 3F 0 3 // Screen dims back 15 | 16 | 17 | Cycle time 10s (idle). 18 | 19 | 20 | 21 | 22 | CID_90 reacts to byte2. 0..0xFE, 0xFF Invalid. -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x2E6 0x3DF auto climate status.txt: -------------------------------------------------------------------------------- 1 | 0x2E6 2 | Byte6 = 0x7F auto fan control 3 | Byte6 = 0x3F manual fan control 4 | 5 | Byte4 = 0 auto air distribution OFF 6 | Byte4 = 0x20 auto air distribution ON 7 | 8 | 9 | 10 | 0x3DF 11 | 9F FF FF Auto fan intensity high 12 | 6F FF FF Auto fan intensity low 13 | 5F FF FF Auto fan intensity medium -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x2F7 Kombi Units.txt: -------------------------------------------------------------------------------- 1 | 20:34:10.826 -> KCAN: TS: 29746 ID: 2F7 Buffer: 2 D9 B9 F9 // byte 2: miles, l/100km 2 | 20:34:46.565 -> KCAN: TS: 218 ID: 2F7 Buffer: 2 D9 79 F9 // byte 2: km, l/100km 3 | 4 | 5 | Sent 3x during Terminal R change. 6 | 7 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x2FC Door hood boot status.txt: -------------------------------------------------------------------------------- 1 | 14:43:00.344 -> KCAN: ID: 2FC Buffer: 81 0 0 FF FF FF FF // Doors closed 2 | 14:43:05.361 -> KCAN: ID: 2FC Buffer: 81 0 0 FF FF FF FF 3 | 14:43:10.347 -> KCAN: ID: 2FC Buffer: 81 0 0 FF FF FF FF 4 | 14:43:15.361 -> KCAN: ID: 2FC Buffer: 81 0 0 FF FF FF FF 5 | 14:43:20.346 -> KCAN: ID: 2FC Buffer: 81 0 0 FF FF FF FF 6 | 14:43:25.330 -> KCAN: ID: 2FC Buffer: 81 0 0 FF FF FF FF 7 | 14:43:25.684 -> KCAN: ID: 2FC Buffer: 81 1 0 FF FF FF FF // Right door open 8 | 14:43:30.350 -> KCAN: ID: 2FC Buffer: 81 1 0 FF FF FF FF 9 | 14:43:35.335 -> KCAN: ID: 2FC Buffer: 81 1 0 FF FF FF FF 10 | 14:43:36.075 -> KCAN: ID: 2FC Buffer: 81 5 0 FF FF FF FF // Both doors open 11 | 14:43:40.354 -> KCAN: ID: 2FC Buffer: 81 5 0 FF FF FF FF 12 | 14:43:45.337 -> KCAN: ID: 2FC Buffer: 81 5 0 FF FF FF FF 13 | 14:43:46.399 -> KCAN: ID: 2FC Buffer: 81 4 0 FF FF FF FF // Left door open 14 | 14:43:50.354 -> KCAN: ID: 2FC Buffer: 81 4 0 FF FF FF FF 15 | 14:43:55.338 -> KCAN: ID: 2FC Buffer: 81 4 0 FF FF FF FF 16 | 17 | 18 | 14:44:00.361 -> KCAN: ID: 2FC Buffer: 81 0 1 FF FF FF FF // Boot open 19 | 14:44:05.361 -> KCAN: ID: 2FC Buffer: 81 0 1 FF FF FF FF 20 | 14:44:10.361 -> KCAN: ID: 2FC Buffer: 81 0 5 FF FF FF FF // Boot and hood open 21 | 14:44:15.361 -> KCAN: ID: 2FC Buffer: 81 0 5 FF FF FF FF 22 | 14:44:20.361 -> KCAN: ID: 2FC Buffer: 81 0 4 FF FF FF FF // Hood open 23 | 14:44:25.361 -> KCAN: ID: 2FC Buffer: 81 0 4 FF FF FF FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x314 RLS status.txt: -------------------------------------------------------------------------------- 1 | 20:00:12.405 -> KCAN: ID: 314 Buffer: 31 1 FF Headlight ON requested. Byte[1] = 1 : Twilight. 2 : Darkness. 2 | 20:00:13.941 -> KCAN: ID: 314 Buffer: 31 1 FF 3 | 20:00:15.996 -> KCAN: ID: 314 Buffer: 31 1 FF 4 | 20:00:18.052 -> KCAN: ID: 314 Buffer: 31 1 FF 5 | 20:00:20.107 -> KCAN: ID: 314 Buffer: 31 1 FF 6 | 20:00:22.131 -> KCAN: ID: 314 Buffer: 31 1 FF 7 | 20:00:24.186 -> KCAN: ID: 314 Buffer: 31 1 FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x315 trace EDC.txt: -------------------------------------------------------------------------------- 1 | // KCAN 2 | 3 | 10:14:03.211 -> 0x315 EDC: 0xC6 0xF1 Comfort 4 | 10:14:03.211 -> 0x315 EDC: 0xD7 0xF1 Comfort 5 | 10:14:03.346 -> 0x315 EDC: 0xE8 0xF1 Comfort 6 | 10:14:03.515 -> 0x315 EDC: 0x0A 0xF1 Comfort 7 | 10:14:03.719 -> 0x315 EDC: 0x1B 0xF1 Comfort 8 | 10:14:04.227 -> 0x315 EDC: 0x2C 0xF1 Comfort 9 | 10:14:04.702 -> 0x315 EDC: 0x3D 0xF1 Comfort 10 | 10:14:05.209 -> 0x315 EDC: 0x4E 0xF1 Comfort 11 | 10:14:05.718 -> 0x315 EDC: 0x5F 0xF1 Comfort 12 | 10:14:06.228 -> 0x315 EDC: 0x60 0xF1 Comfort 13 | 10:14:06.702 -> 0x315 EDC: 0x71 0xF1 Comfort 14 | 10:14:07.211 -> 0x315 EDC: 0x82 0xF1 Comfort 15 | 10:14:07.718 -> 0x315 EDC: 0x93 0xF1 Comfort 16 | 10:14:08.226 -> 0x315 EDC: 0xA4 0xF1 Comfort 17 | 10:14:08.699 -> 0x315 EDC: 0xB5 0xF1 Comfort 18 | 10:14:09.208 -> 0x315 EDC: 0xC6 0xF1 Comfort 19 | 10:14:09.715 -> 0x315 EDC: 0xD7 0xF1 Comfort 20 | 10:14:10.225 -> 0x315 EDC: 0xE8 0xF1 Comfort 21 | 10:14:10.699 -> 0x315 EDC: 0x0A 0xF1 Comfort 22 | 10:14:11.207 -> 0x315 EDC: 0x1B 0xF1 Comfort 23 | 10:14:11.715 -> 0x315 EDC: 0x2C 0xF1 Comfort 24 | 10:14:12.223 -> 0x315 EDC: 0x3D 0xF1 Comfort 25 | 10:14:12.699 -> 0x315 EDC: 0x4E 0xF1 Comfort 26 | 10:14:13.208 -> 0x315 EDC: 0x5F 0xF1 Comfort 27 | 10:14:13.717 -> 0x315 EDC: 0x60 0xF1 Comfort 28 | 10:14:13.955 -> 0x315 EDC: 0x72 0xF2 Sport 29 | 10:14:14.124 -> 0x315 EDC: 0x83 0xF2 Sport 30 | 10:14:14.226 -> 0x315 EDC: 0x94 0xF2 Sport 31 | 10:14:14.294 -> 0x315 EDC: 0xA5 0xF2 Sport 32 | 10:14:14.702 -> 0x315 EDC: 0xB6 0xF2 Sport 33 | 10:14:15.208 -> 0x315 EDC: 0xC7 0xF2 Sport 34 | 10:14:15.716 -> 0x315 EDC: 0xD8 0xF2 Sport 35 | 10:14:16.224 -> 0x315 EDC: 0xE9 0xF2 Sport 36 | 10:14:16.700 -> 0x315 EDC: 0x0B 0xF2 Sport 37 | 10:14:17.209 -> 0x315 EDC: 0x1C 0xF2 Sport 38 | 10:14:17.716 -> 0x315 EDC: 0x2D 0xF2 Sport 39 | 10:14:18.225 -> 0x315 EDC: 0x3E 0xF2 Sport 40 | 10:14:18.699 -> 0x315 EDC: 0x4F 0xF2 Sport 41 | 10:14:19.207 -> 0x315 EDC: 0x50 0xF2 Sport 42 | 10:14:19.713 -> 0x315 EDC: 0x61 0xF2 Sport 43 | 10:14:20.223 -> 0x315 EDC: 0x72 0xF2 Sport 44 | 10:14:20.426 -> 0x315 EDC: 0x8C 0xFA MSport 45 | 10:14:20.594 -> 0x315 EDC: 0x9D 0xFA MSport 46 | 10:14:20.696 -> 0x315 EDC: 0xAE 0xFA MSport 47 | 10:14:20.764 -> 0x315 EDC: 0xBF 0xFA MSport 48 | 10:14:21.205 -> 0x315 EDC: 0xC0 0xFA MSport 49 | 10:14:21.712 -> 0x315 EDC: 0xD1 0xFA MSport 50 | 10:14:22.220 -> 0x315 EDC: 0xE2 0xFA MSport 51 | 10:14:22.695 -> 0x315 EDC: 0x04 0xFA MSport 52 | 10:14:23.202 -> 0x315 EDC: 0x15 0xFA MSport 53 | 10:14:23.712 -> 0x315 EDC: 0x26 0xFA MSport 54 | 10:14:24.220 -> 0x315 EDC: 0x37 0xFA MSport 55 | 10:14:24.727 -> 0x315 EDC: 0x48 0xFA MSport 56 | 10:14:24.897 -> 0x315 EDC: 0x5F 0xF1 Comfort 57 | 10:14:25.066 -> 0x315 EDC: 0x60 0xF1 Comfort 58 | 10:14:25.201 -> 0x315 EDC: 0x71 0xF1 Comfort 59 | 10:14:25.235 -> 0x315 EDC: 0x82 0xF1 Comfort 60 | 10:14:25.709 -> 0x315 EDC: 0x93 0xF1 Comfort 61 | 10:14:26.217 -> 0x315 EDC: 0xA4 0xF1 Comfort 62 | 63 | 64 | 65 | 66 | // PTCAN Same format and timing as KCAN. Only sent with ignition ON. 67 | 68 | 22:51:37.489 -> PTCAN: ID: 315 Buffer: A F1 69 | 22:51:37.489 -> PTCAN: ID: 315 Buffer: 1B F1 70 | 22:51:37.650 -> PTCAN: ID: 315 Buffer: 2C F1 71 | 22:51:37.809 -> PTCAN: ID: 315 Buffer: 3D F1 72 | 22:51:38.003 -> PTCAN: ID: 315 Buffer: 4E F1 73 | 22:51:38.484 -> PTCAN: ID: 315 Buffer: 5F F1 74 | 22:51:39.000 -> PTCAN: ID: 315 Buffer: 60 F1 75 | 22:51:39.485 -> PTCAN: ID: 315 Buffer: 71 F1 76 | 22:51:39.999 -> PTCAN: ID: 315 Buffer: 82 F1 77 | 22:51:40.513 -> PTCAN: ID: 315 Buffer: 93 F1 78 | 22:51:40.995 -> PTCAN: ID: 315 Buffer: A4 F1 79 | 22:51:41.509 -> PTCAN: ID: 315 Buffer: B5 F1 80 | 22:51:41.991 -> PTCAN: ID: 315 Buffer: C6 F1 81 | 22:51:42.510 -> PTCAN: ID: 315 Buffer: D7 F1 82 | 22:51:42.992 -> PTCAN: ID: 315 Buffer: E8 F1 83 | 22:51:43.508 -> PTCAN: ID: 315 Buffer: A F1 84 | 22:51:43.991 -> PTCAN: ID: 315 Buffer: 1B F1 85 | 22:51:44.505 -> PTCAN: ID: 315 Buffer: 2C F1 86 | 22:51:44.987 -> PTCAN: ID: 315 Buffer: 3D F1 87 | 22:51:45.501 -> PTCAN: ID: 315 Buffer: 4E F1 88 | 22:51:45.985 -> PTCAN: ID: 315 Buffer: 5F F1 89 | 22:51:46.177 -> PTCAN: ID: 315 Buffer: 61 F2 90 | 22:51:46.338 -> PTCAN: ID: 315 Buffer: 72 F2 91 | 22:51:46.499 -> PTCAN: ID: 315 Buffer: 83 F2 92 | 22:51:46.499 -> PTCAN: ID: 315 Buffer: 94 F2 93 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x316 DSC switch dsc off.txt: -------------------------------------------------------------------------------- 1 | // Single press 2 | 3 | 148915 0x316 DLC: 2 Data: 0xFD 0xFF 4 | 149015 0x316 DLC: 2 Data: 0xFD 0xFF 5 | 149065 0x316 DLC: 2 Data: 0xFC 0xFF 6 | 149225 0x316 DLC: 2 Data: 0xFC 0xFF 7 | 149385 0x316 DLC: 2 Data: 0xFC 0xFF 8 | 9 | 10 | 11 | 64078 0x316 DLC: 2 Data: 0xFD 0xFF // Begin holding DTC switch 12 | 64179 0x316 DLC: 2 Data: 0xFD 0xFF 13 | 64278 0x316 DLC: 2 Data: 0xFD 0xFF 14 | 64378 0x316 DLC: 2 Data: 0xFD 0xFF 15 | 64479 0x316 DLC: 2 Data: 0xFD 0xFF 16 | 64578 0x316 DLC: 2 Data: 0xFD 0xFF 17 | 64678 0x316 DLC: 2 Data: 0xFD 0xFF 18 | 64778 0x316 DLC: 2 Data: 0xFD 0xFF 19 | 64878 0x316 DLC: 2 Data: 0xFD 0xFF 20 | 64978 0x316 DLC: 2 Data: 0xFD 0xFF 21 | 65078 0x316 DLC: 2 Data: 0xFD 0xFF 22 | 65178 0x316 DLC: 2 Data: 0xFD 0xFF 23 | 65277 0x316 DLC: 2 Data: 0xFD 0xFF 24 | 65378 0x316 DLC: 2 Data: 0xFD 0xFF 25 | 65478 0x316 DLC: 2 Data: 0xFD 0xFF 26 | 65577 0x316 DLC: 2 Data: 0xFD 0xFF 27 | 65678 0x316 DLC: 2 Data: 0xFD 0xFF 28 | 65777 0x316 DLC: 2 Data: 0xFD 0xFF 29 | 65878 0x316 DLC: 2 Data: 0xFD 0xFF 30 | 65978 0x316 DLC: 2 Data: 0xFD 0xFF 31 | 66077 0x316 DLC: 2 Data: 0xFD 0xFF 32 | 66178 0x316 DLC: 2 Data: 0xFD 0xFF 33 | 66277 0x316 DLC: 2 Data: 0xFD 0xFF 34 | 66377 0x316 DLC: 2 Data: 0xFD 0xFF 35 | 66477 0x316 DLC: 2 Data: 0xFD 0xFF 36 | 66577 0x316 DLC: 2 Data: 0xFD 0xFF 37 | 66677 0x316 DLC: 2 Data: 0xFD 0xFF 38 | 66777 0x316 DLC: 2 Data: 0xFD 0xFF 39 | 66877 0x316 DLC: 2 Data: 0xFD 0xFF 40 | 66976 0x316 DLC: 2 Data: 0xFD 0xFF 41 | 67025 0x316 DLC: 2 Data: 0xFC 0xFF // Stopped holding 42 | 67186 0x316 DLC: 2 Data: 0xFC 0xFF 43 | 67347 0x316 DLC: 2 Data: 0xFC 0xFF 44 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x317 PDC button.txt: -------------------------------------------------------------------------------- 1 | 01:14:43.876 -> KCAN: ID: 317 Buffer: FD FF // Press 2 | 01:14:43.876 -> KCAN: ID: 317 Buffer: FD FF 3 | 01:14:43.972 -> KCAN: ID: 317 Buffer: FC FF // Released 4 | 01:14:43.972 -> KCAN: ID: 317 Buffer: FC FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x31D FTM status.txt: -------------------------------------------------------------------------------- 1 | Flat tyre status 2 | 3 | 22:48:47.750 -> FTM state: 0x00 0xFE 4 | 22:48:52.744 -> FTM state: 0x00 0xFE 5 | 22:48:56.107 -> RPA switch: 0xFD 0xFF 6 | 22:48:56.141 -> FTM state: 0x03 0xFD // Resetting 7 | 22:48:56.242 -> RPA switch: 0xFD 0xFF 8 | 22:48:56.310 -> FTM state: 0x03 0xFD 9 | 22:48:56.344 -> FTM state: 0x03 0xFD 10 | 22:48:56.412 -> RPA switch: 0xFD 0xFF 11 | 22:48:56.514 -> FTM state: 0x03 0xFD 12 | 22:48:56.548 -> FTM state: 0x03 0xFD 13 | 22:48:56.717 -> FTM state: 0x03 0xFD 14 | 22:48:56.853 -> FTM state: 0x03 0xFD 15 | 22:48:57.023 -> RPA switch: 0xFC 0xFF 16 | 22:48:57.090 -> FTM state: 0x03 0xFE 17 | 22:48:57.191 -> RPA switch: 0xFC 0xFF 18 | 22:48:57.225 -> FTM state: 0x03 0xFE 19 | 22:48:57.361 -> RPA switch: 0xFC 0xFF 20 | 22:48:57.395 -> FTM state: 0x03 0xFE 21 | 22:48:57.735 -> FTM state: 0x03 0xFE 22 | 22:49:02.725 -> FTM state: 0x03 0xFE 23 | 22:49:07.751 -> FTM state: 0x03 0xFE 24 | 22:49:08.533 -> FTM state: 0x00 0xFE 25 | 22:49:08.703 -> FTM state: 0x00 0xFE 26 | 22:49:08.839 -> FTM state: 0x00 0xFE 27 | 22:49:12.746 -> FTM state: 0x00 0xFE 28 | 22:49:17.731 -> FTM state: 0x00 0xFE 29 | 22:49:22.722 -> FTM state: 0x00 0xFE 30 | 22:49:27.751 -> FTM state: 0x00 0xFE 31 | 32 | 33 | FTM state: 0x1 0xFE // Failure -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x326 EDC damper mode.txt: -------------------------------------------------------------------------------- 1 | 08:48:26.049 -> EDC Damper program: 0x38 0xFF Comfort 2 | 08:48:26.253 -> EDC Damper program: 0x48 0xFF 3 | 08:48:26.457 -> EDC Damper program: 0x58 0xFF 4 | 08:48:26.661 -> EDC Damper program: 0x68 0xFF 5 | 08:48:26.865 -> EDC Damper program: 0x79 0xFF Sport 6 | 08:48:27.034 -> EDC Damper program: 0x89 0xFF 7 | 08:48:27.237 -> EDC Damper program: 0x99 0xFF 8 | 08:48:27.441 -> EDC Damper program: 0xA9 0xFF 9 | 08:48:27.645 -> EDC Damper program: 0xB9 0xFF 10 | 08:48:27.849 -> EDC Damper program: 0xC9 0xFF 11 | 08:48:28.052 -> EDC Damper program: 0xDB 0xFF MSport 12 | 08:48:28.254 -> EDC Damper program: 0xEB 0xFF 13 | 08:48:28.458 -> EDC Damper program: 0x0B 0xFF 14 | 08:48:28.662 -> EDC Damper program: 0x1B 0xFF 15 | 08:48:28.866 -> EDC Damper program: 0x2B 0xFF 16 | 08:48:29.036 -> EDC Damper program: 0x38 0xFF Comfort 17 | 08:48:29.239 -> EDC Damper program: 0x48 0xFF 18 | 08:48:29.443 -> EDC Damper program: 0x58 0xFF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x336 CC list display.txt: -------------------------------------------------------------------------------- 1 | This message is sent by the KOMBI after processing of "Services" messages from various modules. 2 | The contents of this message are displayed in the Vehicle Status list. 3 | 4 | It is a compund message that can contain 3 CC-IDs in one transfer and can be sequenced as well. 5 | 6 | 7 | 8 | Time(ms) Buffer 9 | 1380 10 A2 02 18 00 32 00 First message in the sequence, CC 674, CC 24, CC 50 10 | 1385 11 23 00 FE FF FE FF Final message, CC 35 11 | 12 | Byte0 first half is the total number of messages in the sequence (counting from 0), Byte0 second half is the message number. 13 | 14 | 15 | 16 | Clear CC list: 17 | 18 | 00 00 00 FE FF FE FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x34F Handbrake status.txt: -------------------------------------------------------------------------------- 1 | 19:35:41.384 -> KCAN: ID: 34F Buffer: FE FF // ON 2 | 19:35:41.546 -> KCAN: ID: 34F Buffer: FE FF 3 | 19:35:41.707 -> KCAN: ID: 34F Buffer: FE FF 4 | 19:35:41.868 -> KCAN: ID: 34F Buffer: FE FF 5 | 6 | 7 | 19:35:43.894 -> KCAN: ID: 34F Buffer: FD FF // OFF 8 | 19:35:44.054 -> KCAN: ID: 34F Buffer: FD FF 9 | 19:35:44.214 -> KCAN: ID: 34F Buffer: FD FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x36D Rear PDC distance.txt: -------------------------------------------------------------------------------- 1 | sensors: xx OR IR IL OL xx 2 | 3 | 19:48:55.170 -> KCAN: ID: 36D Buffer: FE FD FD FD FD FE // No obstacles 4 | 5 | 19:49:58.723 -> KCAN: ID: 36D Buffer: FE FD FD FD 9F FE // outer left sensor green distance 6 | 7 | 19:50:44.138 -> KCAN: ID: 36D Buffer: FE 94 FD FD 97 FE // outer left sensor green distance, outer right sensor yellow distance 8 | 9 | 19:52:59.774 -> KCAN: ID: 36D Buffer: FE 2B 0 0 28 FE // all red, inner sensors very close 10 | 11 | 19:55:24.268 -> KCAN: ID: 36D Buffer: FE 46 32 31 43 FE // beginning of red on inner sensors, outers yellow -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x381 Oil level.txt: -------------------------------------------------------------------------------- 1 | Byte0: 2 | 3 | 12 - Condition below MIN 4 | 25 - State MIN 5 | 38 - Condition between MIN and OK 6 | 53 - Condition OK 7 | 69 - Condition between OK and MAX 8 | 85 - State MAX 9 | 95 - Condition Overcrowded 10 | 120 - No measurement possible 11 | 121 - Status measurement in progress 12 | 122 - Condition Oil Level Check OK 13 | 123 - Status measurement OK 14 | 124 - Ignition OFF state, no measurement possible 15 | 125 - Engine oil level OK, precise measurement in progress. 16 | 126 - Engine oil level OK 17 | 127 - Measurement in progress 18 | 128 - Accurate measurement in progress. Measuring time: 1min 19 | 0xFF - signal invalid 20 | 21 | 22 | Byte1: 23 | 24 | 0xF0 - everything OK 25 | 0xF1 - overcrowding 26 | 0xF2 - Refill 1.0 L 27 | 0xF4 - Service 28 | 0xFF - signal invalid -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x38F 0x39B Rear view camera settings.txt: -------------------------------------------------------------------------------- 1 | Camera settings status sent by TRSVC: 2 | 3 | 10:13:49.502 -> KCAN: ID: 39B Buffer: D1 3C 23 B // Tow view ON 4 | 10:13:49.664 -> KCAN: ID: 39B Buffer: D1 3C 23 B 5 | 10:13:49.825 -> KCAN: ID: 39B Buffer: D1 3C 23 B 6 | 10:13:50.984 -> KCAN: ID: 39B Buffer: D1 3C 23 9 // Tow view OFF 7 | 10:13:51.145 -> KCAN: ID: 39B Buffer: D1 3C 23 9 8 | 10:13:51.305 -> KCAN: ID: 39B Buffer: D1 3C 23 9 9 | 10 | 11 | Camera settings change request sent by CIC: 12 | 13 | 10:20:48.568 -> KCAN: ID: 38F Buffer: ED 3C 23 E1 // Tow view ON Byte0 [11101101] 14 | 10:20:50.082 -> KCAN: ID: 38F Buffer: E5 3C 23 E1 // Tow view OFF Byte0 [11100101] 15 | 16 | 19:39:18.156 -> KCAN: ID: 38F Buffer: E6 3C 23 E1 // Camera OFF 17 | 18 | 22:23:39.526 -> KCAN: ID: 38F Buffer: E5 4B 2D E1 // Camera ON, Brightness 50%, Contrast 50%, Parking lines OFF, Obstacle marking ON, Tow view OFF. 19 | 20 | 21 | 22 | Examples: 23 | 24 | // Camera ON, Brightness 50%, Contrast 50%, Parking lines OFF, Obstacle marking ON, Tow view OFF 25 | 26 | 22:27:19.817 -> KCAN: ID: 39B Buffer: D1 4B 2D 9 // Ingition ON 27 | 22:27:19.945 -> KCAN: ID: 39B Buffer: D1 4B 2D 9 28 | 22:27:20.106 -> KCAN: ID: 39B Buffer: D1 4B 2D 9 29 | 22:27:20.653 -> KCAN: ID: 38F Buffer: E5 4B 2D E1 // Reverse engaged activating camera. 30 | 22:27:20.815 -> KCAN: ID: 38F Buffer: E5 4B 2D E1 31 | 22:27:20.815 -> KCAN: ID: 38F Buffer: E5 4B 2D E1 32 | 33 | 34 | // Camera OFF, Brightness 50%, Contrast 50%, Parking lines OFF, Obstacle marking ON, Tow view OFF 35 | 36 | 22:27:43.762 -> KCAN: ID: 38F Buffer: E6 4B 2D E1 37 | 22:27:43.794 -> KCAN: ID: 39B Buffer: E2 4B 2D 9 38 | 22:27:43.955 -> KCAN: ID: 39B Buffer: E2 4B 2D 9 39 | 22:27:44.116 -> KCAN: ID: 39B Buffer: E2 4B 2D 9 40 | 41 | 42 | // Camera ON, Brightness 40%, Contrast 50%, Parking lines OFF, Obstacle marking ON, Tow view OFF 43 | 44 | 22:28:04.173 -> KCAN: ID: 38F Buffer: E5 4B 28 E1 45 | 22:28:04.206 -> KCAN: ID: 39B Buffer: D1 4B 28 9 46 | 22:28:04.333 -> KCAN: ID: 39B Buffer: D1 4B 28 9 47 | 22:28:04.494 -> KCAN: ID: 39B Buffer: D1 4B 28 9 48 | 49 | 50 | 51 | // Camera ON, Brightness 50%, Contrast 40%, Parking lines OFF, Obstacle marking ON, Tow view OFF 52 | 53 | 22:28:29.786 -> KCAN: ID: 38F Buffer: E5 46 2D E1 54 | 22:28:29.786 -> KCAN: ID: 39B Buffer: D1 46 2D 9 55 | 22:28:29.946 -> KCAN: ID: 39B Buffer: D1 46 2D 9 56 | 22:28:30.108 -> KCAN: ID: 39B Buffer: D1 46 2D 9 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x398 Traction mode request.txt: -------------------------------------------------------------------------------- 1 | 16:39:16.118 -> KCAN: TS: 5795 ID: 398 Buffer: CF E3 // Fully on 2 | 16:39:17.751 -> KCAN: TS: 35738 ID: 398 Buffer: CF F3 // DTC/MDM 3 | 16:39:19.066 -> KCAN: TS: 37709 ID: 398 Buffer: CF E7 // Fully off -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x3A8 0x3A9 DME POWER CKM.txt: -------------------------------------------------------------------------------- 1 | 02:00:16.067 -> 0x3A9 DLC: 2 Data: 0xF2 0xFF -> Terminal R, mode sport. 3 are sent with terminal R. No idle ones 2 | 02:00:16.237 -> 0x3A9 DLC: 2 Data: 0xF2 0xFF 3 | 02:00:16.407 -> 0x3A9 DLC: 2 Data: 0xF2 0xFF 4 | 5 | No idles sent with ignition 6 | 7 | 02:03:11.239 -> 0x3A8 DLC: 2 Data: 0xF1 0xFF -> Change from sport to Normal 8 | 02:03:11.239 -> 0x3A9 DLC: 2 Data: 0xF1 0xFF 9 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x3AE Camera control from iDrive.txt: -------------------------------------------------------------------------------- 1 | 00:09:56.022 -> KCAN: ID: 3AE Buffer: A5 FF // ON 2 | 00:09:59.144 -> KCAN: ID: 3AE Buffer: A1 FF // OFF 3 | 4 | 00:50:29.466 -> KCAN: ID: 3AE Buffer: 81 FF // Navigated away from camera view in iDrive 5 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x3AF PDC bus states.txt: -------------------------------------------------------------------------------- 1 | 00:11:39.031 -> KCAN: ID: 3AF Buffer: 31 C2 80 E5 // All OFF. 2 | 00:11:41.091 -> KCAN: ID: 3AF Buffer: BE C3 80 E5 3 | 00:11:43.118 -> KCAN: ID: 3AF Buffer: D C4 A1 E5 // PDC ON. 4 | 00:11:43.118 -> KCAN: ID: 3AF Buffer: 82 C5 A1 E5 5 | 00:11:43.279 -> KCAN: ID: 3AF Buffer: E C6 A1 E5 6 | 00:11:43.441 -> KCAN: ID: 3AF Buffer: 81 C7 A1 E5 7 | 00:11:45.186 -> KCAN: ID: 3AF Buffer: 7 C8 A1 E5 8 | 00:11:47.233 -> KCAN: ID: 3AF Buffer: 88 C9 A1 E5 9 | 00:11:47.749 -> KCAN: ID: 3AF Buffer: 29 CA A5 E5 // PDC and camera ON. 10 | 00:11:47.909 -> KCAN: ID: 3AF Buffer: A6 CB A5 E5 11 | 00:11:48.103 -> KCAN: ID: 3AF Buffer: 2C CC A5 E5 12 | 00:11:49.262 -> KCAN: ID: 3AF Buffer: A3 CD A5 E5 13 | 00:11:51.320 -> KCAN: ID: 3AF Buffer: 2F CE A5 E5 14 | 00:11:51.610 -> KCAN: ID: 3AF Buffer: 7E C0 81 E5 // PDC ON but no longer displaying camera and visual PDC. 15 | 00:11:51.771 -> KCAN: ID: 3AF Buffer: F1 C1 81 E5 16 | 00:11:51.933 -> KCAN: ID: 3AF Buffer: 7D C2 81 E5 17 | 00:11:53.381 -> KCAN: ID: 3AF Buffer: F2 C3 81 E5 18 | 00:11:55.407 -> KCAN: ID: 3AF Buffer: 78 C4 81 E5 19 | 00:11:57.273 -> KCAN: ID: 3AF Buffer: D2 C5 80 E0 // Ignition OFF. 20 | 00:11:57.434 -> KCAN: ID: 3AF Buffer: 5E C6 80 E0 21 | 00:11:57.594 -> KCAN: ID: 3AF Buffer: D1 C7 80 E0 22 | 23 | A4 // Camera ON, PDC OFF. -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x3BD FRM consumer status.txt: -------------------------------------------------------------------------------- 1 | Car is unlocked, driver's door is open, Terminal R is OFF. 2 | 3 | 4 | 23:50:49.407 -> KCAN: ID: 3BD Buffer: FD FF // Preparing to sleep 5 | 23:50:54.421 -> KCAN: ID: 3BD Buffer: FD FF 6 | 23:50:59.408 -> KCAN: ID: 3BD Buffer: FD FF 7 | 23:51:04.393 -> KCAN: ID: 3BD Buffer: FD FF 8 | 23:51:09.411 -> KCAN: ID: 3BD Buffer: FD FF 9 | 23:51:14.398 -> KCAN: ID: 3BD Buffer: FD FF 10 | 23:51:19.417 -> KCAN: ID: 3BD Buffer: FD FF 11 | 23:51:24.399 -> KCAN: ID: 3BD Buffer: FD FF 12 | 23:51:29.416 -> KCAN: ID: 3BD Buffer: FD FF 13 | 23:51:34.400 -> KCAN: ID: 3BD Buffer: FD FF 14 | 23:51:39.421 -> KCAN: ID: 3BD Buffer: FD FF 15 | 23:51:44.402 -> KCAN: ID: 3BD Buffer: FD FF 16 | 23:51:49.416 -> KCAN: ID: 3BD Buffer: FD FF // Car fell asleep, network now silet. 17 | 23:56:03.823 -> KCAN: ID: 3BD Buffer: FC FF // 30g reset (coded at ~5 minutes). 18 | 23:56:03.823 -> KCAN: ID: 3BD Buffer: FC FF 19 | 23:56:03.888 -> KCAN: ID: 3BD Buffer: FC FF 20 | 23:56:04.048 -> KCAN: ID: 3BD Buffer: FC FF 21 | 23:56:09.030 -> KCAN: ID: 3BD Buffer: FC FF 22 | 23:56:14.046 -> KCAN: ID: 3BD Buffer: FC FF 23 | 23:56:19.059 -> KCAN: ID: 3BD Buffer: FC FF 24 | 23:56:24.046 -> KCAN: ID: 3BD Buffer: FC FF 25 | 23:56:29.060 -> KCAN: ID: 3BD Buffer: FC FF 26 | 23:56:34.041 -> KCAN: ID: 3BD Buffer: FC FF 27 | 23:56:39.053 -> KCAN: ID: 3BD Buffer: FC FF 28 | 23:56:44.039 -> KCAN: ID: 3BD Buffer: FC FF 29 | 23:56:49.054 -> KCAN: ID: 3BD Buffer: FC FF 30 | 23:56:54.068 -> KCAN: ID: 3BD Buffer: FC FF 31 | 23:56:59.047 -> KCAN: ID: 3BD Buffer: FC FF 32 | 23:57:04.062 -> KCAN: ID: 3BD Buffer: FC FF 33 | 34 | 35 | 36 | The 0xFC request causes bus users to set their Network Management status to 0x52 (Sleep ready). 37 | The HU is does too except when it is turned on with the faceplate power button. In that case, 0x3BD is ignored. -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x3BE Power supply follow-up time.txt: -------------------------------------------------------------------------------- 1 | Byte0 least significant bit 2 | Byte1 second half most significant bit 3 | 4 | Cycle time is event dependent on bus activity not regular. 5 | -> E.g if HU is keeping the bus alive, it is sent every 10s. 6 | 7 | 8 | 47 F0 -> 0x47 = 71 * 10 = 710 seconds. 9 | 10 | 11 | 12 | At 00 F0, 30G is cut off completely. -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x3D7 DWA Alarm CKM.txt: -------------------------------------------------------------------------------- 1 | 22:44:00.029 -> KCAN: ID: 3D7 Buffer: 56 F6 FF // OFF 2 | 22:44:00.029 -> 1010110 3 | 4 | 22:44:01.892 -> KCAN: ID: 3D7 Buffer: 55 F5 FF // Visual signal for locking/unlocking ON 5 | 22:44:01.892 -> 1010101 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x3DB Seat CKM.txt: -------------------------------------------------------------------------------- 1 | Last seat position automatically: 2 | 3 | KCAN: ID: 3DB Buffer: FC FF // ON 4 | KCAN: ID: 3DB Buffer: F9 FF // OFF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x3DD Lights CKM.txt: -------------------------------------------------------------------------------- 1 | 14:32:57.140 -> KCAN: ID: 3DD Buffer: A5 28 FD // DRLs OFF 2 | 14:32:57.302 -> KCAN: ID: 3DD Buffer: A5 28 FD 3 | 14:32:57.463 -> KCAN: ID: 3DD Buffer: A5 28 FD 4 | 14:32:44.341 -> KCAN: ID: 3DD Buffer: A5 28 FE // DRLs ON 5 | 14:32:44.502 -> KCAN: ID: 3DD Buffer: A5 28 FE 6 | 14:32:44.662 -> KCAN: ID: 3DD Buffer: A5 28 FE -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x586 TRSVC CC.txt: -------------------------------------------------------------------------------- 1 | 40 A9 01 55 FF FF FF FF // 0x1A9 = 425 = Rear View camera failure. -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x58E SVT status with CC.txt: -------------------------------------------------------------------------------- 1 | 18:19:46.564 -> 0x40 0x49 0x00 0x29 0xFF 0xFF 0xFF 0xFF 2 | 18:19:56.787 -> 0x40 0x49 0x00 0x29 0xFF 0xFF 0xFF 0xFF 3 | 18:20:07.017 -> 0x40 0x49 0x00 0x29 0xFF 0xFF 0xFF 0xFF 4 | 18:20:17.242 -> 0x40 0x49 0x00 0x29 0xFF 0xFF 0xFF 0xFF 5 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x5A0 RDC indicator.txt: -------------------------------------------------------------------------------- 1 | 0x5A0 2 | 3 | Enable CC warning: 4 | 5 | 0x40, 0x95, 0x00, 0x29, 0xFF, 0xFF, 0xFF, 0xFF 6 | 7 | Deactivate CC: 8 | 9 | 0x40, 0x95, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF 10 | 11 | 12 | 13 | Enable flashing tyre icon: 14 | 15 | 0x40, 0x50, 0x01, 0x69, 0xFF, 0xFF, 0xFF, 0xFF 16 | 17 | Deactivate flashing tyre icon: 18 | 19 | 0x40, 0x50, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x5C0 CAS CC-ID 315.txt: -------------------------------------------------------------------------------- 1 | 22:12:00.433 -> KCAN: TS: 12239 ID: 5C0 Buffer: 40 4F 1 28 FF FF FF FF // OFF 2 | 22:12:02.129 -> KCAN: TS: 51169 ID: 5C0 Buffer: 40 4F 1 29 FF FF FF FF // ON 3 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0x5E2 iDrive settings to KOMBI.txt: -------------------------------------------------------------------------------- 1 | Time format: 2 | 1E 66 00 01 00 04 00 00 // 12h 3 | 1E 66 00 01 00 08 00 00 // 24h 4 | 5 | 6 | Date format: 7 | 1E 66 00 01 00 01 00 00 // dd.mm.yyyy 8 | 1E 66 00 01 00 02 00 00 // mm/dd/yyyy 9 | 10 | 11 | Language: 12 | 13 | 1E 66 00 01 02 00 00 00 // English 14 | 1E 66 00 01 06 00 00 00 // French 15 | 1E 66 00 01 04 00 00 00 // Spanish 16 | 17 | 18 | Consumption: 19 | 20 | 1E 66 00 01 00 00 01 00 // l/100km 21 | 1E 66 00 01 00 00 02 00 // mpg (UK) 22 | 1E 66 00 01 00 00 03 00 // mpg (US) 23 | 1E 66 00 01 00 00 04 00 // km/l 24 | 25 | 26 | Distance: 27 | 1E 66 00 01 00 00 40 00 // Km 28 | 1E 66 00 01 00 00 80 00 // Mi 29 | 30 | 31 | Pressure: 32 | 1E 66 00 01 00 00 00 01 // bar 33 | 1E 66 00 01 00 00 00 02 // kPa 34 | 1E 66 00 01 00 00 00 03 // psi 35 | 36 | 37 | Temperature: 38 | 1E 66 00 01 00 10 00 00 // C 39 | 1E 66 00 01 00 20 00 00 // F 40 | 41 | 42 | Home lights: 43 | 1E 48 00 01 00 00 00 00 // 0 44 | 1E 48 00 01 00 0A 00 00 // 10s 45 | 1E 48 00 01 00 14 00 00 // 20s 46 | . 47 | . // 10s increments. 48 | . 49 | 1E 48 00 01 00 F0 00 00 // 240s 50 | 51 | 52 | Triple turn signal: 53 | 1E 48 00 01 20 FF 00 00 // ON 54 | 1E 48 00 01 10 FF 00 00 // OFF 55 | 56 | 57 | Daytime driving lights: 58 | 1E 48 00 01 00 FF 02 00 // ON 59 | 1E 48 00 01 00 FF 01 00 // OFF 60 | 61 | 62 | Welcome light: 63 | 1E 4A 00 01 08 FF 00 00 // ON 64 | 1E 4A 00 01 04 FF 00 00 // OFF 65 | 66 | 67 | High beam assistance: 68 | 1E 4A 00 01 20 00 00 00 // ON 69 | 1E 4A 00 01 10 00 00 00 // OFF 70 | 71 | 72 | Independent ventilation Timer1: 73 | 11 03 00 01 01 00 FD FF // Active: 1:00 74 | 11 03 00 01 02 0B FD FF // Active: 2:11 75 | 76 | 77 | Independent ventilation Timer2: 78 | 11 03 00 02 01 00 FD FF // Active: 1:00 79 | 11 03 00 02 03 17 FD FF // Active: 3:23 80 | FC // disable 81 | 82 | 83 | 84 | KOMBI services is sent to confirm changes: 85 | 0x5E2 - 11 03 00 02 03 14 FD FF // Timer 2 set to 03:20 86 | 0x5E0 - 10 03 00 02 01 FF FF FF // ACK, timer 2 ON -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/0xC8 Steering angle.txt: -------------------------------------------------------------------------------- 1 | 20:15:34.774 -> PTCAN: TS: 43024 ID: C8 Buffer: 36 0 C0 0 0 EC 2 | 20:15:34.986 -> PTCAN: TS: 11935 ID: C8 Buffer: 36 0 20 0 0 C 3 | 20:15:35.197 -> PTCAN: TS: 46381 ID: C8 Buffer: 36 0 70 0 0 1C 4 | 20:15:35.372 -> PTCAN: TS: 15292 ID: C8 Buffer: 36 0 C0 0 0 2C 5 | 20:15:35.584 -> PTCAN: TS: 49757 ID: C8 Buffer: 36 0 20 0 0 6C 6 | 20:15:35.794 -> PTCAN: TS: 18677 ID: C8 Buffer: 36 0 70 0 0 8C 7 | 20:15:36.001 -> PTCAN: TS: 53167 ID: C8 Buffer: 36 0 C0 0 0 9C 8 | 20:15:36.175 -> PTCAN: TS: 22032 ID: C8 Buffer: 36 0 20 0 0 AC 9 | 20:15:36.387 -> PTCAN: TS: 56483 ID: C8 Buffer: 36 0 70 0 0 CC -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Check Control.txt: -------------------------------------------------------------------------------- 1 | Byte0 - 2 | 1 - Service request 3 | 0xC - Request bus/subnetwork 4 | 0x30 - CBS service notification 5 | 0x32 - CBS service message 2 6 | 0x40 - Checkcontrol message standard 7 | 8 | 0x41 - Check control message extended 9 | 10 | 11 | Byte1 - CC-ID LSB 12 | Byte2 - CC-ID MSB 13 | 14 | 15 | Byte3 LSB to MSB 16 | ST_IDC_CCLK_CC_MESS_STD - Status Flashing, 2 bits: 17 | 0 ... no flashing 18 | 1 ... slow flashing 19 | 2 ... fast flashing 20 | 3 ... signal invalid 21 | 22 | TRANF_CC_MESS_STD - Transmission type / cycle time [s], 4 bits: 23 | 1 - 0xE Cycle time [s] 24 | 0xF ... Check control message disabled 25 | 26 | ST_CC_MESS_STD - Status Checkcontrol message, 2 bits: 27 | 0 ... Reset 28 | 1 ... Set 29 | 3 ... Signal invalid 30 | 31 | 32 | Byte4-7 - 0xFF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 0x663 Audio Volume.txt: -------------------------------------------------------------------------------- 1 | Request volume: 2 | 22:50:36.474 -> DCAN: TS: 4037 ID: 6F1 Buffer: 63 3 31 24 0 0 0 0 3 | 4 | Response VOL 3. 5 | 22:50:36.507 -> KCAN: TS: 43691 ID: 663 Buffer: F1 3 71 24 3 FF FF FF 6 | 7 | Response VOL 10 8 | 22:53:45.018 -> KCAN: TS: 20264 ID: 663 Buffer: F1 3 71 24 A FF FF FF 9 | 10 | Response VOL 24 11 | 22:54:35.043 -> KCAN: TS: 43990 ID: 663 Buffer: F1 3 71 24 18 FF FF FF 12 | 13 | 14 | 15 | 16 | Request Mute status: 17 | 22:56:15.648 -> DCAN: TS: 53300 ID: 6F1 Buffer: 63 3 30 9 1 0 0 0 18 | 19 | Response MUTED 20 | 22:56:15.681 -> KCAN: TS: 15249 ID: 663 Buffer: F1 5 70 9 1 0 FF FF 21 | 22 | Response DE-MUTED 23 | 22:57:20.483 -> KCAN: TS: 6504 ID: 663 Buffer: F1 5 70 9 1 1 FF FF 24 | 25 | 26 | 27 | Set volume [5]: 28 | 22:58:12.134 -> DCAN: TS: 27385 ID: 6F1 Buffer: 63 4 31 23 5 0 0 0 29 | 30 | Set volume [10]: 31 | 22:58:43.181 -> DCAN: TS: 26025 ID: 6F1 Buffer: 63 4 31 23 A 0 0 0 32 | 33 | Set volume [24]: 34 | 22:59:06.288 -> DCAN: TS: 48110 ID: 6F1 Buffer: 63 4 31 23 18 0 0 0 35 | 36 | 37 | 38 | Set default volume: 39 | 10:55:14.253 -> DCAN: TS: 12549 ID: 6F1 Buffer: 63 2 31 25 0 0 0 0 40 | 41 | Response: 42 | 10:55:14.286 -> KCAN: TS: 44356 ID: 663 Buffer: F1 2 71 25 FF FF FF FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 ASD RAD_ON.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_RADON 2 | 3 | 4 | ARGS: 1 (On) 5 | 6 | 22:11:11.403 -> DCAN: ID: 6F1 Buffer: 3F 4 31 B8 B 1 0 0 7 | 8 | 9 | ARGS: 0 (Off) 10 | 11 | 22:11:11.403 -> DCAN: ID: 6F1 Buffer: 3F 4 31 B8 B 0 0 0 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 ASD mute.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_ASD_AUDIOQUELLE 2 | 3 | 4 | ARGS: 0x01;0x01 (Mute) 5 | 6 | 19:42:42.743 -> DCAN: ID: 6F1 Buffer: 3F 5 31 B8 C 1 1 0 7 | 8 | 9 | 10 | 11 | ARGS: 0x01;0x00 (Demute) 12 | 13 | 19:42:56.679 -> DCAN: ID: 6F1 Buffer: 3F 5 31 B8 C 1 0 0 14 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 CAS power-down command.txt: -------------------------------------------------------------------------------- 1 | ISTAD Power-down command (CAS): 2 | 3 | 19:27:10.283 -> DCAN: ID: 6F1 Buffer: 40 3 22 3F 0 0 0 0 4 | 19:27:10.283 -> DCAN: ID: 640 Buffer: F1 10 13 62 3F 0 2 41 5 | 19:27:10.283 -> DCAN: ID: 6F1 Buffer: 40 30 0 0 0 0 0 0 6 | 19:27:10.283 -> DCAN: ID: 640 Buffer: F1 21 34 18 95 94 BF DE 7 | 19:27:10.283 -> DCAN: ID: 640 Buffer: F1 22 25 D2 41 45 D5 B2 8 | 19:27:10.283 -> DCAN: ID: 640 Buffer: F1 23 39 11 FF FF FF FF 9 | 19:27:10.315 -> DCAN: ID: 6F1 Buffer: EF 3 31 5 0 0 0 0 10 | 19:27:10.398 -> DCAN: ID: 640 Buffer: F1 3 71 5 0 FF FF FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 CIC menu.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_MENU 2 | ARGS: 1628 3 | 4 | MDrive settings: 5 | 6 | 22:00:32.072 -> DCAN: TS: 27769 ID: 6F1 Buffer: 63 10 A 31 52 0 0 6 7 | 22:00:32.072 -> DCAN: TS: 28540 ID: 6F1 Buffer: 63 21 5C 0 0 0 0 0 8 | 9 | 0x 6 5C = 1628 10 | 11 | 12 | 13 | 14 | JOB: STATUS_MENU 15 | 16 | 10:43:21.814 -> DCAN: ID: 6F1 Buffer: 63 2 33 52 0 0 0 0 17 | 10:43:21.845 -> DCAN: ID: 663 Buffer: F1 10 A 73 52 0 0 3 18 | 10:43:21.845 -> DCAN: ID: 6F1 Buffer: 63 30 0 0 0 0 0 0 19 | 10:43:21.845 -> DCAN: ID: 663 Buffer: F1 21 5A 0 0 0 0 FF 20 | 21 | 22 | menu 858: 0x 3 5A 23 | 24 | 25 | 26 | 27 | Example ARGs: 28 | 29 | 765;0 -> Service required menu 30 | 31 | 822;0 -> some nav thing? 32 | 33 | 666;0 -> music collection options 34 | 35 | 2222;0 -> bluetooth audio devices 36 | 37 | 555;0 -> Office options 38 | 39 | 777;0 -> mdrive options 40 | 41 | 722;0 -> TV options 42 | 43 | 1628;0 -> MDrive -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 CIC sounds.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_KLANGZEICHEN 2 | 3 | ARG: 0x07 (faceplate save button noise) 4 | 00:05:32.120 -> DCAN: ID: 6F1 Buffer: 63 3 31 21 7 5 | 6 | ARG: 0x10 (double beep from collision warning) 7 | 00:05:54.511 -> DCAN: ID: 6F1 Buffer: 63 3 31 21 10 8 | 9 | ARG: 0x12 (single beep from Japan ETC) 10 | 00:06:00.711 -> DCAN: ID: 6F1 Buffer: 63 3 31 21 12 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 CIC tone generator.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_SINUSGENERATOR_EIN 2 | 3 | ARGS: 1400;0x1F;0x00000002 (front right) 4 | 5 | 11:45:20.223 -> DCAN: TS: 24269 ID: 6F1 Buffer: 63 10 9 31 22 5 78 1F 6 | 11:45:20.223 -> DCAN: TS: 25617 ID: 6F1 Buffer: 63 21 0 0 0 2 0 0 7 | 8 | ARGS: 1400;0x1F;0x00000001 (front left) 9 | 10 | 11:44:34.500 -> DCAN: TS: 27835 ID: 6F1 Buffer: 63 10 9 31 22 5 78 1F 11 | 11:44:34.500 -> DCAN: TS: 28422 ID: 6F1 Buffer: 63 21 0 0 0 1 0 0 12 | 13 | 14 | 15 | JOB: STEUERN_SINUSGENERATOR_AUS 16 | 17 | 11:42:13.799 -> DCAN: TS: 58477 ID: 6F1 Buffer: 63 2 32 22 0 0 0 0 18 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 DME boost.txt: -------------------------------------------------------------------------------- 1 | JOB: STATUS_SDF1 2 | Intake manifold pressure1 / boost pressure1 3 | 4 | STAT_ADC_SDF1_WERT = 1.684570E+000 5 | STAT_ADC_SDF1_EINH = V 6 | STAT_PHY_SDF1_WERT = 5.596933E+002 7 | STAT_PHY_SDF1_EINH = hPa 8 | JOB_STATUS = OKAY 9 | _TEL_AUFTRAG = 6 Bytes 10 | 0000 : 83 12 F1 30 18 01 ?.ñ0.. 11 | _TEL_ANTWORT = 11 Bytes 12 | 0000 : 87 F1 12 70 18 01 01 59 1A 5E E5 ?ñ.p...Y .^å 13 | 14 | 15 | 09:37:08.480 -> DCAN: ID: 6F1 Buffer: 12 3 30 18 1 0 0 0 16 | 09:37:08.513 -> DCAN: ID: 612 Buffer: F1 10 7 70 18 1 1 59 17 | 09:37:08.513 -> DCAN: ID: 6F1 Buffer: 12 30 0 0 0 0 0 0 18 | 09:37:08.513 -> DCAN: ID: 612 Buffer: F1 21 1A 5E FF FF FF FF 19 | 20 | 21 | // STAT_PHY_SDF1_WERT = 0x1A5E * 0.08291752636432648 = 559.693302959 hPa 22 | 23 | 24 | 25 | 26 | 27 | JOB: STATUS_SDF2 28 | Read intake manifold, boost pressure and intake air temperature for N54 29 | 30 | STAT_PVDKDS_WERT = 1.010469E+003 31 | STAT_PVDKDS_EINH = hPa 32 | STAT_PS_IST_WERT = 0.000000E+000 33 | STAT_PS_IST_EINH = hPa 34 | STAT_TANS_WERT = 3.830000E+001 35 | STAT_TANS_EINH = C 36 | JOB_STATUS = OKAY 37 | _TEL_AUFTRAG = 6 Bytes 38 | 0000 : 83 12 F1 30 19 01 ?.ñ0.. 39 | _TEL_ANTWORT = 13 Bytes 40 | 0000 : 89 F1 12 70 19 01 65 0C 00 00 01 7F 07 ?ñ.p..e. .... 41 | 42 | 43 | 11:07:36.358 -> DCAN: ID: 6F1 Buffer: 12 3 30 19 1 0 0 0 44 | 11:07:36.389 -> DCAN: ID: 612 Buffer: F1 10 9 70 19 1 65 C 45 | 11:07:36.389 -> DCAN: ID: 6F1 Buffer: 12 30 0 0 0 0 0 0 46 | 11:07:36.389 -> DCAN: ID: 612 Buffer: F1 21 0 0 1 7F FF FF 47 | 48 | 49 | STAT_PVDKDS_WERT = 1.012383E+003 50 | STAT_PVDKDS_EINH = hPa 51 | STAT_PS_IST_WERT = 3.886328E+002 52 | STAT_PS_IST_EINH = hPa 53 | STAT_TANS_WERT = 3.680000E+001 54 | STAT_TANS_EINH = C 55 | JOB_STATUS = OKAY 56 | _TEL_AUFTRAG = 6 Bytes 57 | 0000 : 83 12 F1 30 19 01 ?.ñ0.. 58 | _TEL_ANTWORT = 13 Bytes 59 | 0000 : 89 F1 12 70 19 01 65 3D 26 DD 01 70 2C ?ñ.p..e= &Ý.p, 60 | 61 | 11:10:18.758 -> DCAN: ID: 6F1 Buffer: 12 3 30 19 1 0 0 0 62 | 11:10:18.758 -> DCAN: ID: 612 Buffer: F1 10 9 70 19 1 65 3D 63 | 11:10:18.758 -> DCAN: ID: 6F1 Buffer: 12 30 0 0 0 0 0 0 64 | 11:10:18.758 -> DCAN: ID: 612 Buffer: F1 21 26 DD 1 70 FF FF 65 | 66 | 67 | // STAT_PVDKDS_WERT = 0x653D * 0.0390625 = 1012.3828125 hPa 68 | // STAT_PS_IST_WERT = 0x26DD * 0.0390625 = 388.6328125 hPa 69 | // STAT_TANS_WERT = 0x170 * 0.10000000149011612 = 36.800000548 C -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 DWA alarm and LED control.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_ALARMTEST_START 2 | 3 | 10:45:55.233 -> DCAN: TS: 7780 ID: 6F1 Buffer: 41 3 31 4 2 0 0 0 4 | 5 | 6 | JOB: STEUERN_ALARMTEST_STOP 7 | 8 | 10:45:56.098 -> DCAN: TS: 46364 ID: 6F1 Buffer: 41 3 31 4 3 0 0 0 9 | 10 | 11 | 12 | JOB: STEUERN_DWA_LED 13 | ARGS: 1 14 | 15 | 10:49:20.601 -> DCAN: TS: 65277 ID: 6F1 Buffer: 41 4 30 2 7 1 0 0 16 | 17 | 18 | JOB: STEUERN_DWA_LED_STOP 19 | 20 | 10:49:36.142 -> DCAN: TS: 39113 ID: 6F1 Buffer: 41 3 30 2 0 0 0 0 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 DWA beep 6x.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_SIGNAL_HK_REVERSIEREN 2 | 3 | ID: 6F1 Buffer: 41 03 31 FD 00 4 | 5 | 6 | 6 beeps, 1-2, 1-2, 1-2 i.e 3x unlock double beeps -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 EKP control.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_PWM_VORGEBEN 2 | ARGS: 0 3 | 4 | 22:02:44.686 -> DCAN: TS: 39665 ID: 6F1 Buffer: 17 4 30 6 4 0 0 0 5 | 6 | 7 | JOB: STEUERN_RET_CONTR_TO_ECU 8 | 9 | 22:03:14.725 -> DCAN: TS: 48639 ID: 6F1 Buffer: 17 2 30 0 0 0 0 0 10 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FAS_PLX seat move.txt: -------------------------------------------------------------------------------- 1 | Dr seat move back slow. Releases after 3 seconds. 2 | 3 | 14:05:35.533 -> DCAN: ID: 6F1 Buffer: 6D 6 30 10 6 0 2 64 4 | 5 | 6 | 7 | 8 | Dr seat move back fast. Releases after 3 seconds. 9 | JOB: STEUERN_MOTOR 10 | ARGS: FEH;tief;10 11 | 12 | 14:24:54.005 -> DCAN: ID: 6F1 Buffer: 6D 6 30 10 6 8 2 A 13 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FRM AHL status.txt: -------------------------------------------------------------------------------- 1 | JOB: STATUS_FLC_FLA_AHL 2 | 3 | 23:18:38.589 -> DCAN: ID: 6F1 Buffer: 72 3 30 28 1 0 0 0 4 | 5 | 6 | 7 | 23:18:38.589 -> DCAN: ID: 672 Buffer: F1 4 70 28 1 0 FF F // ALL OFF 8 | 9 | 23:19:15.811 -> DCAN: ID: 672 Buffer: F1 4 70 28 1 9 FF FF // AHL ON, FL_WEGEN_FLA_AKTIV OFF, FLA OFF, FLC ON 10 | 11 | 23:21:24.615 -> DCAN: ID: 672 Buffer: F1 4 70 28 1 B FF FF // AHL ON, FL_WEGEN_FLA_AKTIV OFF, FLA ON, FLC ON 12 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FRM DRL PWM.txt: -------------------------------------------------------------------------------- 1 | Job: STEUERN_LAMPEN_PWM 2 | 3 | 4 | 5 | DRL PWM 6 | 7 | LEFT (AUSGANG_DRL_LINKS): 8 | 9 | 01:37:28.676 -> DCAN: TS: 29901 ID: 6F1 Buffer: 72 6 30 3 7 1D 0 32 // 50% 10 | 01:37:34.661 -> DCAN: TS: 14920 ID: 6F1 Buffer: 72 6 30 3 7 1D 0 64 // 100% 11 | 12 | RIGHT (AUSGANG_DRL_RECHTS): 13 | 14 | 01:38:36.996 -> DCAN: TS: 52130 ID: 6F1 Buffer: 72 6 30 3 7 1E 0 32 // 50% 15 | 01:38:43.639 -> DCAN: TS: 27298 ID: 6F1 Buffer: 72 6 30 3 7 1E 0 64 // 100% -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FRM front fogs PWM.txt: -------------------------------------------------------------------------------- 1 | JOB: steuern_lampen_pwm 2 | 3 | 4 | ARGS: AUSGANG_NSW_LINKS;100 5 | 21:06:38.131 -> DCAN: TS: 53785 ID: 6F1 Buffer: 72 6 30 3 7 6 0 64 6 | 7 | ARGS: AUSGANG_NSW_LINKS;0 8 | 21:06:43.251 -> DCAN: TS: 59738 ID: 6F1 Buffer: 72 6 30 3 7 6 0 0 9 | 10 | 11 | ARGS: AUSGANG_NSW_RECHTS;100 12 | 21:07:12.296 -> DCAN: TS: 27271 ID: 6F1 Buffer: 72 6 30 3 7 7 0 64 13 | 14 | ARGS: AUSGANG_NSW_RECHTS;0 15 | 21:07:16.872 -> DCAN: TS: 16103 ID: 6F1 Buffer: 72 6 30 3 7 7 0 0 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FRM front fogs all off.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_LAMPEN_FUNKTIONEN_EINSCHALTEN 2 | ARGS: NSW;aus;1 3 | 4 | 5 | 22:10:09.332 -> DCAN: TS: 34473 ID: 6F1 Buffer: 72 6 30 29 7 0 1 2 6 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FRM lamp status.txt: -------------------------------------------------------------------------------- 1 | JOB: status_lampen_digital 2 | 3 | 4 | Engine Off, DRLs off, headlights off: 5 | 6 | 21:16:05.822 -> DCAN: TS: 16779 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 7 | 21:16:05.822 -> DCAN: TS: 39918 ID: 672 Buffer: F1 10 24 70 8 1 0 0 8 | 21:16:05.822 -> DCAN: TS: 40252 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 9 | 21:16:05.822 -> DCAN: TS: 40401 ID: 672 Buffer: F1 21 0 0 0 0 0 0 10 | 21:16:05.822 -> DCAN: TS: 40543 ID: 672 Buffer: F1 22 0 0 0 0 0 0 11 | 21:16:05.822 -> DCAN: TS: 40685 ID: 672 Buffer: F1 23 0 0 0 0 0 0 12 | 21:16:05.822 -> DCAN: TS: 40826 ID: 672 Buffer: F1 24 0 0 FA 0 0 0 13 | 21:16:05.822 -> DCAN: TS: 40967 ID: 672 Buffer: F1 25 0 0 0 FA 0 0 14 | 21:16:05.822 -> DCAN: TS: 41109 ID: 672 Buffer: F1 26 FA FF FF FF FF FF 15 | 16 | 17 | 21:16:44.348 -> DCAN: TS: 57394 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 18 | 21:16:44.416 -> DCAN: TS: 14062 ID: 672 Buffer: F1 10 24 70 8 1 0 0 19 | 21:16:44.416 -> DCAN: TS: 14396 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 20 | 21:16:44.416 -> DCAN: TS: 14538 ID: 672 Buffer: F1 21 0 0 0 0 0 0 21 | 21:16:44.416 -> DCAN: TS: 14679 ID: 672 Buffer: F1 22 0 0 0 0 0 0 22 | 21:16:44.416 -> DCAN: TS: 14824 ID: 672 Buffer: F1 23 0 0 0 0 0 0 23 | 21:16:44.416 -> DCAN: TS: 14967 ID: 672 Buffer: F1 24 0 0 FA 0 0 0 24 | 21:16:44.416 -> DCAN: TS: 15110 ID: 672 Buffer: F1 25 0 0 0 FA 0 0 25 | 21:16:44.416 -> DCAN: TS: 15254 ID: 672 Buffer: F1 26 FA FF FF FF FF FF 26 | 27 | 28 | left corner on with steuern_lampen_pwm 29 | 30 | 21:18:26.825 -> DCAN: TS: 44262 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 31 | 21:18:26.891 -> DCAN: TS: 2526 ID: 672 Buffer: F1 10 24 70 8 1 FA 0 // STAT_AUSGANG_FL_LINKS_EIN = 1. If this value is > 0 corner light is on. 32 | 21:18:26.891 -> DCAN: TS: 2862 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 33 | 21:18:26.891 -> DCAN: TS: 3007 ID: 672 Buffer: F1 21 0 0 0 0 0 0 34 | 21:18:26.891 -> DCAN: TS: 3151 ID: 672 Buffer: F1 22 0 0 0 0 0 0 35 | 21:18:26.891 -> DCAN: TS: 3294 ID: 672 Buffer: F1 23 0 0 0 0 0 0 36 | 21:18:26.891 -> DCAN: TS: 3437 ID: 672 Buffer: F1 24 0 0 FA 0 0 0 37 | 21:18:26.891 -> DCAN: TS: 3580 ID: 672 Buffer: F1 25 0 0 0 FA 0 0 38 | 21:18:26.891 -> DCAN: TS: 3724 ID: 672 Buffer: F1 26 FA FF FF FF FF FF 39 | 40 | 41 | right corner on with steuern_lampen_pwm 42 | 43 | 21:20:23.790 -> DCAN: TS: 61587 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 44 | 21:20:23.821 -> DCAN: TS: 19030 ID: 672 Buffer: F1 10 24 70 8 1 0 FA // STAT_AUSGANG_FL_RECHTS_EIN = 1. If this value is > 0 corner light is on. 45 | 21:20:23.821 -> DCAN: TS: 19363 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 46 | 21:20:23.821 -> DCAN: TS: 19508 ID: 672 Buffer: F1 21 0 0 0 0 0 0 47 | 21:20:23.821 -> DCAN: TS: 19663 ID: 672 Buffer: F1 22 0 0 0 0 0 0 48 | 21:20:23.821 -> DCAN: TS: 19805 ID: 672 Buffer: F1 23 0 0 0 0 0 0 49 | 21:20:23.821 -> DCAN: TS: 19947 ID: 672 Buffer: F1 24 0 0 FA 0 0 0 50 | 21:20:23.821 -> DCAN: TS: 20088 ID: 672 Buffer: F1 25 0 0 0 FA 0 0 51 | 21:20:23.821 -> DCAN: TS: 20230 ID: 672 Buffer: F1 26 FA FF FF FF FF FF 52 | 53 | 54 | 55 | 56 | 57 | Engine on, headlights on, turning corners on with steering wheel: 58 | 59 | 60 | 61 | Corners off 62 | 63 | 20:57:10.783 -> DCAN: TS: 21969 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 64 | 20:57:10.814 -> DCAN: TS: 42901 ID: 672 Buffer: F1 10 24 70 8 1 0 0 65 | 20:57:10.814 -> DCAN: TS: 43238 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 66 | 20:57:10.814 -> DCAN: TS: 43380 ID: 672 Buffer: F1 21 FA FA 0 0 0 0 67 | 20:57:10.814 -> DCAN: TS: 43522 ID: 672 Buffer: F1 22 16 16 0 0 0 0 68 | 20:57:10.848 -> DCAN: TS: 43663 ID: 672 Buffer: F1 23 0 0 0 3C 3C FA 69 | 20:57:10.848 -> DCAN: TS: 43804 ID: 672 Buffer: F1 24 FA FA 0 0 0 0 70 | 20:57:10.848 -> DCAN: TS: 43944 ID: 672 Buffer: F1 25 0 0 0 FA 0 D9 71 | 20:57:10.848 -> DCAN: TS: 44083 ID: 672 Buffer: F1 26 D9 FF FF FF FF FF 72 | 73 | 74 | Left corner on 75 | 76 | 20:57:45.121 -> DCAN: TS: 17713 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 77 | 20:57:45.186 -> DCAN: TS: 44096 ID: 672 Buffer: F1 10 24 70 8 1 BB 0 78 | 20:57:45.186 -> DCAN: TS: 44428 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 79 | 20:57:45.186 -> DCAN: TS: 44570 ID: 672 Buffer: F1 21 FA FA 0 0 0 0 80 | 20:57:45.186 -> DCAN: TS: 44710 ID: 672 Buffer: F1 22 16 16 0 0 0 0 81 | 20:57:45.186 -> DCAN: TS: 44849 ID: 672 Buffer: F1 23 0 0 0 39 39 FA 82 | 20:57:45.186 -> DCAN: TS: 44989 ID: 672 Buffer: F1 24 FA FA 0 0 0 0 83 | 20:57:45.186 -> DCAN: TS: 45130 ID: 672 Buffer: F1 25 0 0 0 FA 0 D3 84 | 20:57:45.186 -> DCAN: TS: 45273 ID: 672 Buffer: F1 26 D3 FF FF FF FF FF 85 | 86 | 87 | 21:01:54.361 -> DCAN: TS: 49332 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 88 | 21:01:54.392 -> DCAN: TS: 10287 ID: 672 Buffer: F1 10 24 70 8 1 B8 0 89 | 21:01:54.392 -> DCAN: TS: 10620 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 90 | 21:01:54.392 -> DCAN: TS: 10763 ID: 672 Buffer: F1 21 FA FA 0 0 0 0 91 | 21:01:54.426 -> DCAN: TS: 10904 ID: 672 Buffer: F1 22 16 16 0 0 0 0 92 | 21:01:54.426 -> DCAN: TS: 11044 ID: 672 Buffer: F1 23 0 0 0 38 38 FA 93 | 21:01:54.426 -> DCAN: TS: 11183 ID: 672 Buffer: F1 24 FA FA 0 0 0 0 94 | 21:01:54.426 -> DCAN: TS: 11323 ID: 672 Buffer: F1 25 0 0 0 FA 0 D1 95 | 21:01:54.426 -> DCAN: TS: 11462 ID: 672 Buffer: F1 26 D1 FF FF FF FF FF 96 | 97 | 98 | Right corner on 99 | 100 | 20:58:26.920 -> DCAN: TS: 10865 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 101 | 20:58:26.985 -> DCAN: TS: 36374 ID: 672 Buffer: F1 10 24 70 8 1 0 B9 102 | 20:58:26.985 -> DCAN: TS: 36708 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 103 | 20:58:26.986 -> DCAN: TS: 36851 ID: 672 Buffer: F1 21 FA FA 0 0 0 0 104 | 20:58:26.986 -> DCAN: TS: 36991 ID: 672 Buffer: F1 22 16 16 0 0 0 0 105 | 20:58:26.986 -> DCAN: TS: 37131 ID: 672 Buffer: F1 23 0 0 0 38 38 FA 106 | 20:58:26.986 -> DCAN: TS: 37271 ID: 672 Buffer: F1 24 FA FA 0 0 0 0 107 | 20:58:26.986 -> DCAN: TS: 37414 ID: 672 Buffer: F1 25 0 0 0 FA 0 D2 108 | 20:58:26.986 -> DCAN: TS: 37555 ID: 672 Buffer: F1 26 D2 FF FF FF FF FF 109 | 110 | 111 | 21:02:17.336 -> DCAN: TS: 1761 ID: 6F1 Buffer: 72 3 30 8 1 0 0 0 112 | 21:02:17.369 -> DCAN: TS: 25091 ID: 672 Buffer: F1 10 24 70 8 1 0 B8 113 | 21:02:17.369 -> DCAN: TS: 25427 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 114 | 21:02:17.369 -> DCAN: TS: 25583 ID: 672 Buffer: F1 21 FA FA 0 0 0 0 115 | 21:02:17.369 -> DCAN: TS: 25724 ID: 672 Buffer: F1 22 16 16 0 0 0 0 116 | 21:02:17.369 -> DCAN: TS: 25863 ID: 672 Buffer: F1 23 0 0 0 38 38 FA 117 | 21:02:17.369 -> DCAN: TS: 26017 ID: 672 Buffer: F1 24 FA FA 0 0 0 0 118 | 21:02:17.369 -> DCAN: TS: 26159 ID: 672 Buffer: F1 25 0 0 0 FA 0 D1 119 | 21:02:17.369 -> DCAN: TS: 26318 ID: 672 Buffer: F1 26 D1 FF FF FF FF FF -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FRM mirror fold-unfold.txt: -------------------------------------------------------------------------------- 1 | JOB: steuern_spiegel_position 2 | ARGS: 0;0x05;1 3 | 4 | 21:59:57.751 -> DCAN: TS: 38503 ID: 6F1 Buffer: 72 10 7 30 10 7 1 5 5 | 21:59:57.751 -> DCAN: TS: 39346 ID: 6F1 Buffer: 72 21 0 1 0 0 0 0 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FRM mirror status.txt: -------------------------------------------------------------------------------- 1 | JOB: status_tuer 2 | 3 | 4 | Mirrors unfolded: 5 | 6 | 13:26:34.424 -> DCAN: TS: 3829 ID: 6F1 Buffer: 72 3 30 16 1 0 0 0 7 | 13:26:34.424 -> DCAN: TS: 16987 ID: 672 Buffer: F1 10 10 70 16 1 AA AB 8 | 13:26:34.424 -> DCAN: TS: 17318 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 9 | 13:26:34.424 -> DCAN: TS: 17460 ID: 672 Buffer: F1 21 80 3 22 0 6C 41 10 | 13:26:34.424 -> DCAN: TS: 17599 ID: 672 Buffer: F1 22 9F AB 0 0 0 FF // STAT_SPIEGEL_BEIGEKLAPPT = 0 11 | 13:26:34.457 -> DCAN: TS: 30120 ID: 6F1 Buffer: 72 3 30 10 1 0 0 0 12 | 13:26:34.523 -> DCAN: TS: 1733 ID: 672 Buffer: F1 10 7 70 10 1 BE 93 13 | 13:26:34.523 -> DCAN: TS: 2066 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 14 | 13:26:34.523 -> DCAN: TS: 2211 ID: 672 Buffer: F1 21 60 54 FF FF FF FF 15 | 16 | 17 | Mirrors folded: 18 | 19 | 13:27:00.772 -> DCAN: TS: 15952 ID: 6F1 Buffer: 72 3 30 16 1 0 0 0 20 | 13:27:00.804 -> DCAN: TS: 28830 ID: 672 Buffer: F1 10 10 70 16 1 AA AB 21 | 13:27:00.804 -> DCAN: TS: 29161 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 22 | 13:27:00.804 -> DCAN: TS: 29303 ID: 672 Buffer: F1 21 80 3 22 0 6C 41 23 | 13:27:00.804 -> DCAN: TS: 29442 ID: 672 Buffer: F1 22 9F AB 1 0 0 FF // STAT_SPIEGEL_BEIGEKLAPPT = 1 24 | 13:27:00.836 -> DCAN: TS: 42102 ID: 6F1 Buffer: 72 3 30 10 1 0 0 0 25 | 13:27:00.935 -> DCAN: TS: 26602 ID: 672 Buffer: F1 10 7 70 10 1 BE 93 26 | 13:27:00.935 -> DCAN: TS: 26938 ID: 6F1 Buffer: 72 30 0 0 0 0 0 0 27 | 13:27:00.935 -> DCAN: TS: 27081 ID: 672 Buffer: F1 21 60 54 FF FF FF FF 28 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 FRM mirror undim.txt: -------------------------------------------------------------------------------- 1 | JOB: STATUS_SPIEGEL_ABBLENDEN 2 | ARGS: 0 3 | 4 | 5 | 10:45:16.188 -> DCAN: ID: 6F1 Buffer: 72 5 30 11 7 0 90 0 6 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 IHKA 5V ON-OFF.txt: -------------------------------------------------------------------------------- 1 | JOB: steuern_5v_ausgang 2 | ARGS: ein 3 | 4 | 78 04 30 08 07 01 5 | 6 | 7 | JOB: steuern_5v_ausgang 8 | ARGS: aus 9 | 10 | 78 04 30 08 07 00 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 JBF EDC button.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_DIGITAL_INPUT 2 | ARGS: TSR_IN,0 3 | 4 | 5 | 21:54:44.419 -> DCAN: TS: 19304 ID: 6F1 Buffer: 0 5 30 1 7 1A 0 0 6 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 JBF headlight washer.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_DIGITAL_OUTPUT 2 | ARGS: SRA; 1 3 | 4 | 5 | 09:39:22.278 -> DCAN ID: 6F1 Buffer: 0 5 30 2 7 28 1 0 6 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 KOMBI Needles.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | Speedo 4 | 5 | JOB: STEUERN_TACHO 6 | ARGS: 325 7 | 23:09:53.837 -> DCAN: TS: 45577 ID: 6F1 Buffer: 60 3 22 31 0 0 0 0 // not needed 8 | 23:09:53.998 -> DCAN: TS: 62383 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 // not needed 9 | 23:09:54.030 -> DCAN: TS: 11388 ID: 6F1 Buffer: 60 5 30 20 6 12 11 0 10 | 11 | ARGS: 0 12 | 13:51:54.975 -> DCAN: TS: 25159 ID: 6F1 Buffer: 60 3 22 31 0 0 0 0 13 | 13:51:55.135 -> DCAN: TS: 39188 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 14 | 13:51:55.244 -> DCAN: TS: 54292 ID: 6F1 Buffer: 60 5 30 20 6 0 0 0 15 | 16 | 17 | Release: 18 | 23:10:58.054 -> DCAN: TS: 40735 ID: 6F1 Buffer: 60 3 30 20 0 0 0 0 19 | 20 | 21 | 22 | Tacho 23 | 24 | JOB: STEUERN_DREHZAHL 25 | ARGS: 8000 26 | 23:11:42.886 -> DCAN: TS: 43560 ID: 6F1 Buffer: 60 3 22 31 3 0 0 0 // not needed 27 | 23:11:42.983 -> DCAN: TS: 37196 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 28 | 23:11:43.016 -> DCAN: TS: 51255 ID: 6F1 Buffer: 60 5 30 21 6 12 3D 0 29 | 30 | ARGS:0 31 | 13:52:31.974 -> DCAN: TS: 54555 ID: 6F1 Buffer: 60 3 22 31 3 0 0 0 32 | 13:52:32.106 -> DCAN: TS: 48427 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 33 | 13:52:32.138 -> DCAN: TS: 61989 ID: 6F1 Buffer: 60 5 30 21 6 0 0 0 34 | 35 | Release: 36 | 23:12:09.240 -> DCAN: TS: 57021 ID: 6F1 Buffer: 60 3 30 21 0 0 0 0 37 | 38 | 39 | 40 | Fuel 41 | 42 | JOB: STEUERN_TANK 43 | ARGS: 100 44 | 23:12:36.272 -> DCAN: TS: 382 ID: 6F1 Buffer: 60 3 22 31 2 0 0 0 // not needed 45 | 23:12:36.368 -> DCAN: TS: 43171 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 // not needed 46 | 23:12:36.368 -> DCAN: TS: 56065 ID: 6F1 Buffer: 60 5 30 22 6 7 4E 0 47 | 48 | ARGS:0 49 | 13:53:58.506 -> DCAN: TS: 59820 ID: 6F1 Buffer: 60 3 22 31 2 0 0 0 50 | 13:53:58.570 -> DCAN: TS: 34308 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 51 | 13:53:58.602 -> DCAN: TS: 47516 ID: 6F1 Buffer: 60 5 30 22 6 0 0 0 52 | 53 | Release: 54 | 23:13:02.871 -> DCAN: TS: 2487 ID: 6F1 Buffer: 60 3 30 22 0 0 0 0 55 | 56 | 57 | 58 | Oil 59 | 60 | JOB: STEUERN_KVA 61 | ARGS: 100 62 | 23:14:37.003 -> DCAN: TS: 12615 ID: 6F1 Buffer: 60 3 22 31 5 0 0 0 // not needed 63 | 23:14:37.131 -> DCAN: TS: 9233 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 // not needed 64 | 23:14:37.164 -> DCAN: TS: 23084 ID: 6F1 Buffer: 60 5 30 23 6 7 12 0 65 | 66 | ARGS: 0 67 | 13:53:11.495 -> DCAN: TS: 18168 ID: 6F1 Buffer: 60 3 22 31 5 0 0 0 68 | 13:53:11.593 -> DCAN: TS: 8084 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 69 | 13:53:11.625 -> DCAN: TS: 21675 ID: 6F1 Buffer: 60 5 30 23 6 0 0 0 70 | 71 | Release: 72 | 23:14:51.537 -> DCAN: TS: 1636 ID: 6F1 Buffer: 60 3 30 23 0 0 0 0 73 | 74 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 KOMBI Time Date.txt: -------------------------------------------------------------------------------- 1 | Time/Date: 23:15 22/03/2023 2 | 3 | 4 | 23:15:12.364 -> DCAN: TS: 19366 ID: 6F1 Buffer: 60 2 1A 80 0 0 0 0 5 | 23:15:12.525 -> DCAN: TS: 24952 ID: 660 Buffer: F1 10 1F 5A 80 0 0 9 6 | 23:15:12.525 -> DCAN: TS: 25287 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 7 | 23:15:12.525 -> DCAN: TS: 25433 ID: 660 Buffer: F1 21 24 23 97 8 8 8 8 | 23:15:12.525 -> DCAN: TS: 25570 ID: 660 Buffer: F1 22 D0 56 46 20 10 9 9 | 23:15:12.525 -> DCAN: TS: 25708 ID: 660 Buffer: F1 23 23 10 0 17 6B B3 10 | 23:15:12.525 -> DCAN: TS: 25847 ID: 660 Buffer: F1 24 41 E0 3 3 0 0 11 | 23:15:12.525 -> DCAN: TS: 25990 ID: 660 Buffer: F1 25 0 0 FF FF FF FF 12 | 23:15:12.557 -> DCAN: TS: 42575 ID: 6F1 Buffer: 60 2 21 20 0 0 0 0 13 | 23:15:12.589 -> DCAN: TS: 57722 ID: 660 Buffer: F1 10 A 61 20 17 F F 14 | 23:15:12.589 -> DCAN: TS: 58055 ID: 6F1 Buffer: 60 30 0 0 0 0 0 0 15 | 23:15:12.589 -> DCAN: TS: 58201 ID: 660 Buffer: F1 21 16 3 7 E7 0 FF 16 | 23:15:12.621 -> DCAN: TS: 5461 ID: 6F1 Buffer: 60 10 A 3B 20 17 F C 60: address kombi, 10 - time req?, 17 - hrs, F - min, C - secs 17 | 23:15:12.622 -> DCAN: TS: 6058 ID: 660 Buffer: F1 30 0 0 FF FF FF FF 18 | 23:15:12.622 -> DCAN: TS: 6424 ID: 6F1 Buffer: 60 21 16 3 7 E7 0 0 60: address kombi, 21 - request date?, 0x16 - day, 3 - month, 0x7E7 - year 19 | 23:15:12.654 -> DCAN: TS: 31064 ID: 660 Buffer: F1 2 7B 20 FF FF FF FF 20 | 21 | 22 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 KOMBI gong.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_CCG 2 | 3 | 4 | 23:05:27.734 -> DCAN: TS: 33439 ID: 6F1 Buffer: 60 3 31 22 2 0 0 0 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 PDC control RVC.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_BUS_NACHRICHTEN 2 | 3 | 4 | 5 | 6 | ARGS: 0;0;1;0 (pdc off, camera on) 7 | 8 | 23:21:52.426 -> DCAN: TS: 61626 ID: 6F1 Buffer: 64 4 30 9 7 4 0 0 9 | 10 | 11 | ARGS: 0;0;0;0 (pdc off, camera off) 12 | 13 | 23:22:19.981 -> DCAN: TS: 20824 ID: 6F1 Buffer: 64 4 30 9 7 0 0 0 14 | 15 | 16 | ARGS: 1;0;1;0 (pdc on, camera on) 17 | 18 | 23:22:58.873 -> DCAN: TS: 56741 ID: 6F1 Buffer: 64 4 30 9 7 5 0 0 19 | 20 | 21 | ARGS: 1;0;1;0 (pdc on, camera off) 22 | 23 | 23:23:39.949 -> DCAN: TS: 18646 ID: 6F1 Buffer: 64 4 30 9 7 1 0 0 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 SINE X Y tilt angle.txt: -------------------------------------------------------------------------------- 1 | JOB: status_inclination_y_axis 2 | 3 | 4 | 10:51:59.985 -> KCAN: ID: 6F1 Buffer: 50 2 21 5 5 | 10:52:00.241 -> KCAN: ID: 650 Buffer: F1 10 E 61 5 ED A4 F -4.700000E+000, Byte5 and Byte6 combined (ED A4), converted to signed 16 bit and multiplied by 0.001. 6 | 10:52:00.273 -> KCAN: ID: 6F1 Buffer: 50 30 0 2 FF FF FF FF 7 | 10:52:00.273 -> KCAN: ID: 650 Buffer: F1 21 80 EE 8 0 0 0 8 | 10:52:00.273 -> KCAN: ID: 650 Buffer: F1 22 3 20 5 20 8 2 9 | 10 | 11 | 12 | 13 | JOB: status_inclination_x_axis 14 | 15 | 16 | 21:24:47.690 -> KCAN: ID: 6F1 Buffer: 50 2 21 4 17 | 21:24:48.010 -> KCAN: ID: 650 Buffer: F1 10 E 61 4 F9 5C F -1.700000E+000, same formula as y-axis. 18 | 19 | 21:24:48.010 -> KCAN: ID: 6F1 Buffer: 50 30 0 2 FF FF FF FF 20 | 21:24:48.043 -> KCAN: ID: 650 Buffer: F1 21 69 F9 5C 0 0 0 21 | 21:24:48.043 -> KCAN: ID: 650 Buffer: F1 22 3 1F F6 0 0 0 -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Diag-KWP2000/0x6F1 clear errors.txt: -------------------------------------------------------------------------------- 1 | CIC fs_loeschen 2 | 22:42:08.654 -> DCAN: ID: 6F1 Buffer: 63 3 14 FF FF 0 0 0 3 | 4 | 5 | CIC is_loeschen 6 | 22:42:30.366 -> DCAN: ID: 6F1 Buffer: 63 3 31 6 0 0 0 0 7 | 8 | 9 | MSD80 fs_loeschen 10 | 22:42:50.509 -> DCAN: ID: 6F1 Buffer: 12 2 1A 80 0 0 0 0 11 | 22:42:50.541 -> DCAN: ID: 6F1 Buffer: 12 30 0 0 0 0 0 0 12 | 22:42:52.789 -> DCAN: ID: 6F1 Buffer: 12 3 14 FF FF 0 0 0 13 | 14 | 15 | MSD80 hs_loeschen 16 | 22:43:34.210 -> DCAN: ID: 6F1 Buffer: 12 2 31 3 0 0 0 0 17 | 18 | 19 | KOMBI fs_loeschen 20 | 22:44:57.768 -> DCAN: ID: 6F1 Buffer: 60 3 14 FF FF 0 0 0 21 | 22 | 23 | FZD is_loeschen 24 | 22:47:24.982 -> DCAN: ID: 6F1 Buffer: 56 3 31 6 0 0 0 0 25 | -------------------------------------------------------------------------------- /CAN messages/E-series BN2000/Network management.txt: -------------------------------------------------------------------------------- 1 | Address: 0x480 + controller address, DME sends DNM messages with Id 0x492 2 | 3 | Data byte 0 contains the controller address of the next participant 4 | 5 | Data byte 1 contains bit-coded: 6 | 0x01 Alive signal bit 7 | 0x02 Ring active bit 8 | 0x10 Sleep Indication bit 9 | 0x20 Sleep Acknowledge bit 10 | 0x40 Ring stable bit. Normally this can be observed 11 | 0x42 Ring active 12 | 0x52 Sleep Indication (readiness for sleep) 13 | 0x72 Sleep ack. (shutdown) -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x12F Terminal status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/CAN messages/F-series BN2010/0x12F Terminal status.png -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x12F Terminal status.txt: -------------------------------------------------------------------------------- 1 | CRC_KL: 0 - 0xFF 2 | 3 | 4 | ALV_COU_KL: 0 - 0xF 5 | 6 | 7 | ST_VEH_CON: 0 - F 8 | 0 Initial (VSM_STM_STATE_INIT) 9 | 1 Standby, driver absent (VSM_STM_STATE_STANDBY) 10 | 2 Basis operation, driver present (VSM_STM_STATE_BASICOP) 11 | 3 Basis operation, vehicle coasting (VSM_STM_STATE_BASICOP_ROLL) 12 | 4 Engine postrun (VSM_STM_STATE_15OFF_DRIVE) 13 | 5 Ignition On (VSM_STM_STATE_IGNITION) 14 | 6 Ignition On, vehicle coasting (VSM_STM_STATE_IGNITION_ROLL) 15 | 7 Ignition On, vehicle not coasting (VSM_STM_STATE_ENG_IDLE) 16 | 8 Driving (VSM_STM_STATE_DRIVE) 17 | 9 Impending start of engine (VSM_STM_STATE_ENG_START_PRE) 18 | A Impending start of engine, vehicle coasting (VSM_STM_STATE_ENG_START_PRE_ROLL) 19 | B Start engine (VSM_STM_STATE_ENG_START) 20 | C Start engine, vehicle coasting (VSM_STM_STATE_ENG_START_ROLL) 21 | D Car wash operation (VSM_STM_STATE_WASH) 22 | E Error (VSM_STM_STAT_ERROR) 23 | F Signal invalid 24 | 25 | 26 | ST_KL 27 | 0 - Init 28 | 1 - Reserve 29 | 2 - KL30 30 | 3 - KL30F - Change 31 | 4 - KL30F - On 32 | 5 - KL30B (30G) - Change 33 | 6 - KL30B (30G) - On 34 | 7 - KLR - Change 35 | 8 - KLR - On 36 | 9 - KL15 - Change 37 | A - KL15 - On 38 | B - KL50 - delay 39 | C - KL50 - Change 40 | D - KL50 - On 41 | E - Error 42 | F - Signal invalid 43 | 44 | 45 | ST_KL_KEY_VLD 46 | 0 - Initial value 47 | 1 - Key invalid 48 | 2 - Key search active 49 | 3 - Key valid recognized in AR 50 | 4 - Key valid detected in IR 51 | 5 - Key in the 10 s lag 52 | 6 - Key valid for MFS 53 | E - Error 54 | F - Signal invalid 55 | 56 | 57 | CTR_ENG_STOP 58 | 0 - Init 59 | 1 - Default 60 | 2 - Engine off 61 | 3 - Signal invalid 62 | 63 | 64 | ST_STCD_PENG 65 | 0 - Starting condition traction not met 66 | 1 - Starting condition traction fulfilled 67 | 2 - Starting condition traction implausibly fulfilled 68 | 3 - Signal invalid 69 | 70 | 71 | ST_OP_MSA 72 | 0 - MSA active - LED in the MSA button does not light up (initial state) 73 | 1 - MSA deactivated - LED in the MSA button lights up 74 | 10 MSA status implausible - Error MSA button pressed for longer than 60 seconds, KS on button likely and MSA function is deactivated: LED in the MSA button does not light up (This error condition is no longer activated given KS taken back after 60 seconds) 75 | 11 Signal invalid 76 | 77 | 78 | ST_SSP 79 | 0 - no button Hall sensor detected 80 | 1 - a button Hall sensor detected 81 | 2 - two button Hall sensor detected 82 | 3 - Signal invalid 83 | 84 | 85 | RQ_DRVG_RDI 86 | 0 No requirement 87 | 1 Prepare to drive 88 | 11 Signal invalid 89 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x180 X_VIEW data.txt: -------------------------------------------------------------------------------- 1 | ID: 0x180 2 | 3 | Bytes 0, 1, 2, 3 and 7 appear unused. 4 | Bytes 0 and 1 may contain CRC and alive but it appears optional for KCAN. 5 | 6 | 7 | Bytes 4 and 5 contain the pitch angle. Maximum appears to be 140 degrees: 8 | 9 | 0x500..0x509 = 0 degrees 10 | 0x50A..0x51D = 1 degrees 11 | 0x51E..0x531 = 2 degrees 12 | 0x532 = 3 degrees 13 | 14 | 15 | Byte 6 contains the road grade percentage. Maximum appears to be 154%: 16 | 17 | 0 = 100% 18 | 1 = 99 % 19 | 0x63 = 1% 20 | 0x64 = 0% 21 | 22 | 0x65 = 1%. Negative? 23 | 0xCA = 102% 24 | 0xCF = 107% 25 | 0xDF = 123% 26 | 0xEF = 139% 27 | 0xF0 = 140% 28 | 0xF1 = 141% 29 | 0xF8 = 148% 30 | 0xFA = 150% 31 | 0xFE = 154% 32 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x1A1 Speed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/CAN messages/F-series BN2010/0x1A1 Speed.png -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x253 Sport displays data.txt: -------------------------------------------------------------------------------- 1 | 100 ms cycle time 2 | 3 | Byte 0 torque. 0 to 0x64 (I.e. 0 - 100 % in decimal) 4 | 5 | Byte1 scale. 6 | first half power (increments of 80): 0 - 80, 1 - 160, 2 - 240 ... 7 | second half torque (increments of 80): 4: 400, 5: 480, 6: 560 ... 8 | 9 | Byte 2 power. 0 to 0x64 (I.e. 0 - 100 % in decimal) -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x291 Unit and format settings.txt: -------------------------------------------------------------------------------- 1 | Byte0 - Language 2 | Byte1 - Temperature / Time format 3 | Byte2 - Distance, Consumption 4 | Byte3 - Pressure / Date format 5 | Byte4 - Torque, Power 6 | 7 | 8 | 9 | Language 10 | Eng uk: 11 | 2 3 0 0 0 F0 12 | 13 | German 14 | 1 3 0 0 0 F0 15 | 16 | Turkish: 17 | 14 3 0 0 0 F0 18 | 19 | etc. 20 | 21 | 22 | 23 | Temperature 24 | C: 25 | 0 13 0 0 0 F0 26 | 27 | F: 28 | 0 23 0 0 0 F0 29 | 30 | 31 | 32 | Time format 33 | 12 h: 34 | 0 7 0 0 0 F0 35 | 36 | 24 h: 37 | 0 B 0 0 0 F0 38 | 39 | 40 | 41 | Distance 42 | km: 43 | 0 3 40 0 0 F0 44 | 45 | mi: 46 | 0 3 80 0 0 F0 47 | 48 | 49 | 50 | Consumption 51 | l/100km: 52 | 0 3 1 0 0 F0 53 | 54 | km/l: 55 | 0 3 4 0 0 F0 56 | 57 | mpg: 58 | 0 3 2 0 0 F0 59 | 60 | 61 | 62 | Pressure 63 | bar: 64 | 0 3 0 1 0 F0 65 | 66 | psi: 67 | 0 3 0 3 0 F0 68 | 69 | kPa: 70 | 0 3 0 2 0 F0 71 | 72 | 73 | Date format 74 | dd.mm.yyyy: 75 | 0 3 0 8 0 F0 76 | 77 | 78 | mm/dd/yyyy: 79 | 0 3 0 10 0 F0 80 | 81 | 82 | yyyy/mm/dd: 83 | 0 3 0 30 0 F0 84 | 85 | 86 | yyyy.mm.dd: 87 | 0 3 0 28 0 F0 88 | 89 | 90 | 91 | Torque 92 | Nm: 93 | 0 3 0 0 10 F0 94 | 95 | Ft lb: 96 | 0 3 0 0 20 F0 97 | 98 | kgm: 99 | 0 3 0 0 30 F0 100 | 101 | 102 | 103 | 104 | Power 105 | KW: 106 | 0 3 0 0 1 F0 107 | 108 | hp: 109 | 0 3 0 0 2 F0 110 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x2C1 PDC status.txt: -------------------------------------------------------------------------------- 1 | 20:25:32.337 -> KCAN2: ID: 2C1 Buffer: 6 0 0 F 0 0 FF FF // PDC OFF 2 | 20:25:32.530 -> KCAN2: ID: 2C1 Buffer: 7 0 0 F 0 0 FF FF 3 | 20:25:32.820 -> KCAN2: ID: 2C1 Buffer: 8 0 0 F 0 0 FF FF 4 | 20:25:33.045 -> KCAN2: ID: 2C1 Buffer: 9 0 0 F 0 0 FF FF 5 | 20:25:33.239 -> KCAN2: ID: 2C1 Buffer: A 0 0 F 0 0 FF FF 6 | 20:25:33.433 -> KCAN2: ID: 2C1 Buffer: B 0 0 F 0 0 FF FF 7 | 20:25:33.626 -> KCAN2: ID: 2C1 Buffer: C 0 0 F 0 0 FF FF 8 | 20:25:33.915 -> KCAN2: ID: 2C1 Buffer: D 0 0 F 0 0 FF FF 9 | 20:25:34.139 -> KCAN2: ID: 2C1 Buffer: E 0 0 F 0 0 FF FF 10 | 20:25:34.332 -> KCAN2: ID: 2C1 Buffer: 40 5 0 F 0 0 FF FF // PDC ON 11 | 20:25:34.525 -> KCAN2: ID: 2C1 Buffer: 41 5 0 F 0 0 FF FF 12 | 20:25:34.815 -> KCAN2: ID: 2C1 Buffer: 42 5 0 F 0 0 FF FF 13 | 20:25:35.040 -> KCAN2: ID: 2C1 Buffer: 43 5 0 F 0 0 FF FF 14 | 20:25:35.233 -> KCAN2: ID: 2C1 Buffer: 44 5 0 F 0 0 FF FF 15 | 20:25:35.426 -> KCAN2: ID: 2C1 Buffer: 45 5 0 F 0 0 FF FF 16 | 20:25:35.618 -> KCAN2: ID: 2C1 Buffer: 46 5 0 F 0 0 FF FF 17 | 20:25:35.844 -> KCAN2: ID: 2C1 Buffer: 47 5 0 F 0 0 FF FF 18 | 19 | 22:56:33.190 -> KCAN2: ID: 2C1 Buffer: 8 1 0 F 0 0 FF FF // PDC ON but no longer displayed on iDrive 20 | 22:56:33.383 -> KCAN2: ID: 2C1 Buffer: 9 1 0 F 0 0 FF FF 21 | 22:56:33.576 -> KCAN2: ID: 2C1 Buffer: A 1 0 F 0 0 FF FF 22 | 22:56:33.769 -> KCAN2: ID: 2C1 Buffer: B 1 0 F 0 0 FF FF 23 | 22:56:33.961 -> KCAN2: ID: 2C1 Buffer: C 1 0 F 0 0 FF FF 24 | 22:56:34.283 -> KCAN2: ID: 2C1 Buffer: D 1 0 F 0 0 FF FF 25 | 22:56:34.476 -> KCAN2: ID: 2C1 Buffer: E 1 0 F 0 0 FF FF 26 | 22:56:34.671 -> KCAN2: ID: 2C1 Buffer: 0 1 0 F 0 0 FF FF 27 | 22:56:34.863 -> KCAN2: ID: 2C1 Buffer: 1 1 0 F 0 0 FF FF 28 | 22:56:35.090 -> KCAN2: ID: 2C1 Buffer: 2 1 0 F 0 0 FF FF 29 | 22:56:35.379 -> KCAN2: ID: 2C1 Buffer: 3 1 0 F 0 0 FF FF 30 | 22:56:35.571 -> KCAN2: ID: 2C1 Buffer: 4 1 0 F 0 0 FF FF 31 | 22:56:35.765 -> KCAN2: ID: 2C1 Buffer: 5 1 0 F 0 0 FF FF 32 | 22:56:35.990 -> KCAN2: ID: 2C1 Buffer: 6 1 0 F 0 0 FF FF 33 | 22:56:36.280 -> KCAN2: ID: 2C1 Buffer: 7 1 0 F 0 0 FF FF 34 | 22:56:36.473 -> KCAN2: ID: 2C1 Buffer: 8 1 0 F 0 0 FF FF 35 | 22:56:36.665 -> KCAN2: ID: 2C1 Buffer: 9 1 0 F 0 0 FF FF 36 | 22:56:36.891 -> KCAN2: ID: 2C1 Buffer: A 1 0 F 0 0 FF FF 37 | 22:56:37.085 -> KCAN2: ID: 2C1 Buffer: B 1 0 F 0 0 FF FF 38 | 39 | 20:25:36.936 -> KCAN2: ID: 2C1 Buffer: C 0 0 F 0 0 FF FF // PDC OFF 40 | 20:25:37.225 -> KCAN2: ID: 2C1 Buffer: D 0 0 F 0 0 FF FF 41 | 20:25:37.419 -> KCAN2: ID: 2C1 Buffer: E 0 0 F 0 0 FF FF 42 | 20:25:37.644 -> KCAN2: ID: 2C1 Buffer: 0 0 0 F 0 0 FF FF 43 | 20:25:37.838 -> KCAN2: ID: 2C1 Buffer: 1 0 0 F 0 0 FF FF 44 | 20:25:38.128 -> KCAN2: ID: 2C1 Buffer: 2 0 0 F 0 0 FF FF 45 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x2F7 Units.txt: -------------------------------------------------------------------------------- 1 | Bytes 0 to 2 are identical to BN2000. 2 | 3 | Byte3 contains pressure units and date format. 4 | 1 - bar 5 | 2 - kPa 6 | 3 - psi 7 | 8 - dd.mm.yyyy 8 | 0x10 - mm/dd/yyyy 9 | 0x30 - yyyy/mm/dd 10 | 0x28 - yyyy.mm.dd 11 | 12 | Byte4 contains power and torque units. First half is power, second half is torque. 13 | 1 - kW 14 | 2 - hp 15 | 16 | 1 - Nm 17 | 2 - lb-ft 18 | 3 - kg-m 19 | 20 | Byte5 is fixed 0xF1 -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x2F8 Time-date set.txt: -------------------------------------------------------------------------------- 1 | ID=2F8 (Uhrzeit/Datum) (760 (2F8h) - Zykluszeit: ttyp = 15000.0 ms (tmin = 13500.0 ms, tmax = 16500.0 ms)) 2 | DLC=8 3 | 01 1E 00 1B 4F E0 07 F1 4 | 5 | Byte [0], Hour 6 | Byte [1], Minute 7 | Byte [2], Seconds 8 | Byte [3], Day 9 | Byte [4] (Top 8 bits), Month 10 | 1F = Jan 11 | 2F = Feb 12 | 3F = March 13 | …………….. 14 | BF = Nov 15 | DF = Dec 16 | Byte [5 & 6], year (07E0 HEX = 2016 DEC) -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x2FB VSW config.txt: -------------------------------------------------------------------------------- 1 | 0x2FB is only sent for certain GATEWAYTABLE values. E.g. table_5 implements VSW while table_7 (F25) does not. 2 | 3 | 4 | Counter byte[7] does not matter. 5 | 6 | 18:30:39.861 -> 0x2FB DLC: 8 Data: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xF1 /// F-series CIC Boot / Zero / Off? 7 | 18:31:04.561 -> 0x2FB DLC: 8 Data: 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0xF2 // "Input 1" Tool32: MMC (DVD changer) 8 | 18:35:21.445 -> 0x2FB DLC: 8 Data: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0xF3 // "Input 3" Tool32: RVC (Rear View Camera) 9 | 18:35:46.911 -> 0x2FB DLC: 8 Data: 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0xF4 // "Input 4" Tool32: TV 10 | 11 | 12 | 13 | VSW will reply with: 14 | 15 | 18:03:43.655 -> 0x2FD DLC: 8 Data: 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0xF2 // Byte7 (counter) and Byte0 (input) will match 0x2FB. 16 | 18:03:43.816 -> 0x2FD DLC: 8 Data: 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0xF2 17 | 18:03:43.977 -> 0x2FD DLC: 8 Data: 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0xF2 -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x31A PDC bus status request.txt: -------------------------------------------------------------------------------- 1 | 20:43:51.630 -> KCAN2: ID: 31A Buffer: 5 1 0 8 FF FF FF FF // Byte1: PDC ON 2 | 20:43:51.824 -> KCAN2: ID: 31A Buffer: 6 1 0 8 FF FF FF FF 3 | 20:43:52.047 -> KCAN2: ID: 31A Buffer: 7 1 0 8 FF FF FF FF 4 | 20:43:52.271 -> KCAN2: ID: 31A Buffer: 8 1 0 8 FF FF FF FF 5 | 20:43:52.464 -> KCAN2: ID: 31A Buffer: 9 1 0 8 FF FF FF FF 6 | 20:43:52.689 -> KCAN2: ID: 31A Buffer: A 1 0 8 FF FF FF FF 7 | 20:43:52.883 -> KCAN2: ID: 31A Buffer: B 1 0 8 FF FF FF FF 8 | 20:43:53.075 -> KCAN2: ID: 31A Buffer: C 1 0 8 FF FF FF FF 9 | 20:43:53.267 -> KCAN2: ID: 31A Buffer: D 1 0 8 FF FF FF FF 10 | 20:43:53.491 -> KCAN2: ID: 31A Buffer: E 1 0 8 FF FF FF FF 11 | 20:43:53.651 -> KCAN2: ID: 31A Buffer: 0 5 0 8 FF FF FF FF // Byte1: Camera ON 12 | 20:43:53.844 -> KCAN2: ID: 31A Buffer: 1 5 0 8 FF FF FF FF 13 | 20:43:54.069 -> KCAN2: ID: 31A Buffer: 2 5 0 8 FF FF FF FF 14 | 20:43:54.263 -> KCAN2: ID: 31A Buffer: 3 5 0 8 FF FF FF FF 15 | 20:43:54.455 -> KCAN2: ID: 31A Buffer: 4 5 0 8 FF FF FF FF 16 | 20:43:54.648 -> KCAN2: ID: 31A Buffer: 5 5 0 8 FF FF FF FF 17 | 20:43:54.872 -> KCAN2: ID: 31A Buffer: 6 5 0 8 FF FF FF FF 18 | 20:43:55.065 -> KCAN2: ID: 31A Buffer: 7 5 0 8 FF FF FF FF 19 | 20:43:55.065 -> KCAN2: ID: 31A Buffer: 18 1 0 0 FF FF FF FF // Byte0 >> 4 == 1: User navigated away from reverse UI on HU. 20 | 20:43:55.065 -> KCAN2: ID: 31A Buffer: 19 1 0 0 FF FF FF FF -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x338 Custom CC.txt: -------------------------------------------------------------------------------- 1 | Byte0, Byte1 = CC-ID. 2 | -> "Details" ID is 0x46 0x03, i.e 0x346 / 838 3 | 4 | Byte2 = 0x50 (passive list) 0x32 (EVO, dialog) / 0x72 (NBT, dialog), 5 | For passive list use 0x336 to insert custom CC. 6 | 7 | Byte3 fixed 0xF0 8 | 9 | Byte4 = First half: total message count (excluding terminator). Second half: current message counter. 10 | 11 | Byte5, Byte6, Byte7 = ASCII characters 12 | 13 | 14 | 15 | [NBT EVO] 16 | 17 | 46 03 32 F0 90 41 69 72 F.r..Air 18 | 46 03 32 F0 91 20 64 69 F.r.. di 19 | 46 03 32 F0 92 73 74 72 F.r..str 20 | 46 03 32 F0 93 69 62 75 F.r..ibu 21 | 46 03 32 F0 94 74 69 6F F.r..tio 22 | 46 03 32 F0 95 6E 3A 20 F.r..n: 23 | 46 03 32 F0 96 41 55 54 F.r..AUT 24 | 46 03 32 F0 97 4F 20 4D F.r..O M 25 | 46 03 32 F0 98 65 64 69 F.r..edi 26 | 46 03 32 F0 99 75 6D 2E F.r..um. 27 | 28 | 29 | // This message indicates that the string is complete: 30 | 46 03 32 F0 9A 20 20 20 31 | 32 | 33 | 34 | [All] 35 | 36 | // Clear the already open message box: 37 | 46 03 70 F0 00 00 00 00 38 | 39 | 40 | // Dismiss the message box: 41 | 46 03 50 F0 00 00 00 00 42 | 43 | 44 | 45 | 46 | [Other interesting CCs] 47 | 48 | 4B 01 32 F0 00 00 00 00 - hdc active 49 | 4C 01 32 F0 00 00 00 00 - hdc deactivated 50 | 4D 01 32 F0 00 00 00 00 - hdc inactive 51 | 4F 01 32 F0 00 00 00 00 - ignition ON 52 | 76 01 32 F0 00 00 00 00 - camera supports failure 53 | A8 01 32 F0 00 00 00 00 - rear camera lens clean 54 | A9 01 32 F0 00 00 00 00 - rear view camera failure 55 | BE 01 32 F0 00 00 00 00 - launch control active 56 | E1 02 32 F0 00 00 00 00 - caution engine compartment hot 57 | FC 02 32 F0 00 00 00 00 - test mode active 58 | 13 03 32 F0 00 00 00 00 - would you like to take a break? 59 | 85 03 32 F0 00 00 00 00 - DSC OFF 60 | C9 03 32 F0 00 00 00 00 - water injection level low 61 | DF 03 32 F0 00 00 00 00 - Service function started 62 | E0 03 32 F0 00 00 00 00 - Service function finished -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x369 FTM status.txt: -------------------------------------------------------------------------------- 1 | Fuzzer: 2 | 3 | 4 | Pressure low (all): 00 00 A1 30 00 / 00 00 A5 30 00 5 | 6 | right front tyre low: 00 00 A1 21 E0 7 | rear right low: 00 00 A3 24 F0 8 | rear left low: 00 00 A2 28 73 9 | 10 | 11 | resetting: 00 71 EA 59 22 / 00 00 E8 00 00 12 | -> Only works if 0x1A1 is not being sent? 13 | 14 | 15 | 16 | 17 | EVO: 18 | 19 | Byte2 = Byte3 = Byte4. 20 | 21 | 0xA0: Active 22 | 0xE8: Resetting 23 | 0x60, 0: Failure 24 | 25 | 26 | Byte2 = 0xA1 and Byte3 = 0x30: Tyre pressure low. -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x393 LCD brightness.txt: -------------------------------------------------------------------------------- 1 | 23:50:59.723 -> KCAN2: ID: 393 Buffer: 3F 32 3 FD // Darkness 2 | 23:51:09.741 -> KCAN2: ID: 393 Buffer: 3F 32 3 FD 3 | 23:51:14.862 -> KCAN2: ID: 393 Buffer: 3F 32 FE FD // Bright light in front of KOMBI 4 | 23:51:15.409 -> KCAN2: ID: 393 Buffer: 88 32 FE FD 5 | 23:51:15.764 -> KCAN2: ID: 393 Buffer: 88 32 FE FD 6 | 23:51:16.086 -> KCAN2: ID: 393 Buffer: B1 32 FE FD 7 | 23:51:16.665 -> KCAN2: ID: 393 Buffer: B1 32 FE FD 8 | 23:51:16.890 -> KCAN2: ID: 393 Buffer: D1 32 FE FD 9 | 23:51:18.307 -> KCAN2: ID: 393 Buffer: D1 32 FE FD 10 | 23:51:18.532 -> KCAN2: ID: 393 Buffer: F1 32 FE FD 11 | 23:51:22.139 -> KCAN2: ID: 393 Buffer: F1 32 5 FD // light off 12 | 23:51:27.647 -> KCAN2: ID: 393 Buffer: 3F 32 3 FD // NBT/CID dims back 13 | 14 | 15 | 16 | CID brightess is set by byte0 (DSTN_LCD_LUM) and byte1 (DMPNG_LCD_LUM) 17 | Byte3 change to 0xFE/0xFD is triggered by lamp status (0x21A) AND kombi brightness. -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x3A7 Driving dynamics switch.txt: -------------------------------------------------------------------------------- 1 | ***DME manual 2 | 3 | 4 | // Signal SU_SW_DRDY. Starts at bit 16 with length 16 bits. 5 | 6 | 0--- ---- ---- 0000 Drive base 7 | 0--- ---- ---- 0100 Drive Traction 8 | 0--- ---- ---- 0010 Drive Comfort 9 | 0--- ---- ---- 1001 Drive Sport 10 | 0--- ---- ---- 1010 Drive Eco 1 11 | 0--- ---- ---- 1011 Drive Sport+ 12 | 0--- ---- ---- 1101 Drive Race 13 | 14 | 0--- ---- 0000 ---- Vertical dynamics basis VDC basis ARS basis 15 | 0--- ---- 1000 ---- Vertical dynamics comfort VDC sport ARS basis 16 | 0--- ---- 0101 ---- Vertical Dynamics Sport VDC Comfort ARS Sport 17 | 18 | 0--- --00 ---- ---- Integrated chassis management controller on 19 | 0--- --11 ---- ---- Integrated chassis management controller off 20 | 0--- 00-- ---- ---- Integrated chassis management basis 21 | 0--- 01-- ---- ---- Integrated chassis management sport 22 | 23 | 1000 ---- ---- ---- Initialization 24 | 0000 ---- ---- ---- Driving dynamics stabilization DSC on 25 | 0001 ---- ---- ---- Driving dynamics stabilization DTC 26 | 0100 ---- ---- ---- Driving dynamics stabilization DSC off 27 | 1111 1111 1111 1111 Signal invalid 28 | 29 | 30 | 31 | Second nibble of byte4 is DSC status. 32 | Byte3 is ICM state and VDC. 33 | Second nibble of byte2 is the drive mode. 34 | 35 | 36 | 37 | 38 | 39 | 40 | ***Tested (6MT, Coded as F82) 41 | 42 | Byte4: 43 | 44 | 45 | 1 - Traction 46 | 2 - Comfort+ 47 | 5 - Sport+ (option for sports displays) 48 | 6 - DSC OFF (option for sports displays) 49 | 0x13 - Comfort 50 | 51 | 52 | 53 | 54 | EVO: 55 | 56 | Byte4: 57 | 1 - Traction 58 | 6 - DSC OFF (option for sports displays) 59 | 60 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x3B3 Power management consumer control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/CAN messages/F-series BN2010/0x3B3 Power management consumer control.png -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x3B3 Power management consumer control.txt: -------------------------------------------------------------------------------- 1 | FF FF FF FF FF F5 FF 2 | 3 | If the second half of Byte5 is 5, a Note is displayed with text "The iDrive system will be switched off shortly. To save energy, press the radio on/off switch in future." 4 | 5 | 6 | 7 | 8 | SLCTN_SPCOS - Selection of special consumers 9 | 0 ... No special consumer 10 | 1 ... PTC auxiliary heater 11 | 0x0F ... Signal invalid 12 | 13 | 14 | CTR_PWR_SPCOS - Control power special consumers 15 | 0 - 100% 16 | 0xFF - Signal invalid 17 | 18 | 19 | CTR_PWR_COS - Control Power Consumer 20 | 0000 0000 0000 0000 No reduction 21 | 0--- ---- ---- ---1 Rear window cycled 22 | 0--- ---- ---- --1- Steering wheel heating cycled, PTC rear 25% 23 | 0--- ---- ---- -1-- Front seat heating level 2, rear seat heating level 1 24 | 0--- ---- ---- 1--- Front seat heating 50%, PTC third row of seats 50% 25 | 0--- ---- ---1 ---- Active seat OFF 26 | 0--- ---- --1- ---- Rear seat heating level 2, PTC rear 75%, windscreen heating 75% 27 | 0--- ---- -1-- ---- Mirror heating OFF, PTC rear OFF 28 | 0--- ---- 1--- ---- PTC rear 50%, windscreen heating 50%, neck warmer OFF 29 | 0--- ---1 ---- ---- Rear window OFF 30 | 0--- --1- ---- ---- Front seat heating OFF, rear seat heating OFF 31 | 0--- -1-- ---- ---- Steering wheel heating OFF, PTC third row of seats / fan 0%, windscreen heating 25% 32 | 0--- 1--- ---- ---- Seat climate OFF, windscreen heating OFF 33 | 0--1 ---- ---- ---- Heating fan 75% 34 | 0-1- ---- ---- ---- Heating fan 50% 35 | 01-- ---- ---- ---- Heating fan 25% 36 | 0xFFFF - Signal invalid 37 | 38 | 39 | CTR_CBR - Control of current branches 40 | 0--- ---0 No control 41 | 0--- ---1 Control 42 | 0--- --01 Current branch 1 OFF 43 | 0--- --11 Current branch 1 ON 44 | 0--- -0-1 Current branch 2 OFF 45 | 0--- -1-1 Current branch 2 ON 46 | 0xFF - Signal invalid 47 | 48 | 49 | RQ_PCOS - Requirements for stationary consumers 50 | 0 ... No action 51 | 1 ... Stationary consumers must identify themselves 52 | 2 ... unoccupied 53 | 3 ... Signal invalid 54 | 55 | 56 | CTR_PCOS - Control of stationary consumers 57 | 0 ... No action 58 | 1 ... Special stationary consumers are allowed to switch on 59 | 2 ... stationary consumers must switch off 60 | 3 ... Signal invalid 61 | 62 | 63 | CTR_PWRU_COS - not used, set to 0 / 0xF 64 | 65 | 66 | ST_ENERG_PWMG - Status Energy Power Management 67 | 0001 Switching off terminal 30 F. 68 | 0010 No stationary consumers permitted. 69 | 0100 tbd. 70 | 1000 Battery charge level 100% 71 | 1111 Signal invalid -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x3C Vehicle status: -------------------------------------------------------------------------------- 1 | 21:19:14.716 -> KCAN2: ID: 3C Buffer: F3 AE 2 12 1 0 2A FF // Terminal R ON 2 | 21:19:14.845 -> KCAN2: ID: 3C Buffer: F2 A0 2 12 1 0 2A FF 3 | 21:19:14.877 -> KCAN2: ID: 3C Buffer: AF A1 2 12 1 0 2A FF 4 | 21:19:14.877 -> KCAN2: ID: 3C Buffer: 48 A2 2 12 1 0 2A FF 5 | 21:19:14.942 -> KCAN2: ID: 3C Buffer: 15 A3 2 12 1 0 2A FF 6 | 21:19:15.038 -> KCAN2: ID: 3C Buffer: 9B A4 2 12 1 0 2A FF 7 | 21:19:15.136 -> KCAN2: ID: 3C Buffer: C6 A5 2 12 1 0 2A FF 8 | 21:19:15.231 -> KCAN2: ID: 3C Buffer: 21 A6 2 12 1 0 2A FF 9 | 21:19:15.328 -> KCAN2: ID: 3C Buffer: 7C A7 2 12 1 0 2A FF 10 | 21:19:15.328 -> KCAN2: ID: 3C Buffer: 20 A8 2 12 1 0 2A FF 11 | 21:19:15.393 -> KCAN2: ID: 3C Buffer: 7D A9 2 12 1 0 2A FF 12 | 21:19:15.427 -> KCAN2: ID: 3C Buffer: 9A AA 2 12 1 0 2A FF 13 | 21:19:15.522 -> KCAN2: ID: 3C Buffer: C7 AB 2 12 1 0 2A FF 14 | 21:19:15.617 -> KCAN2: ID: 3C Buffer: 49 AC 2 12 1 0 2A FF 15 | 21:19:15.747 -> KCAN2: ID: 3C Buffer: 14 AD 2 12 1 0 2A FF 16 | 21:19:15.842 -> KCAN2: ID: 3C Buffer: F3 AE 2 12 1 0 2A FF 17 | 21:19:15.939 -> KCAN2: ID: 3C Buffer: F2 A0 2 12 1 0 2A FF 18 | 21:19:16.037 -> KCAN2: ID: 3C Buffer: AF A1 2 12 1 0 2A FF 19 | 21:19:16.133 -> KCAN2: ID: 3C Buffer: 48 A2 2 12 1 0 2A FF 20 | 21:19:16.230 -> KCAN2: ID: 3C Buffer: 15 A3 2 12 1 0 2A FF 21 | 21:19:16.326 -> KCAN2: ID: 3C Buffer: 9B A4 2 12 1 0 2A FF 22 | 21:19:16.424 -> KCAN2: ID: 3C Buffer: C6 A5 2 12 1 0 2A FF 23 | 21:19:16.521 -> KCAN2: ID: 3C Buffer: F1 6 0 0 0 0 E3 FF // Terminal R OFF 24 | 21:19:16.553 -> KCAN2: ID: 3C Buffer: AC 7 0 0 0 0 E3 FF 25 | 21:19:16.617 -> KCAN2: ID: 3C Buffer: F0 8 0 0 0 0 E3 FF 26 | 21:19:16.617 -> KCAN2: ID: 3C Buffer: AD 9 0 0 0 0 E3 FF 27 | 21:19:16.747 -> KCAN2: ID: 3C Buffer: 4A A 0 0 0 0 E3 FF 28 | 21:19:16.844 -> KCAN2: ID: 3C Buffer: 17 B 0 0 0 0 E3 FF 29 | 21:19:16.941 -> KCAN2: ID: 3C Buffer: 99 C 0 0 0 0 E3 FF 30 | 21:19:16.973 -> KCAN2: ID: 3C Buffer: C4 D 0 0 0 0 E3 FF 31 | 21:19:17.036 -> KCAN2: ID: 3C Buffer: 23 E 0 0 0 0 E3 FF 32 | 21:19:17.133 -> KCAN2: ID: 3C Buffer: 22 0 0 0 0 0 E3 FF 33 | 21:19:17.230 -> KCAN2: ID: 3C Buffer: 7F 1 0 0 0 0 E3 FF 34 | 21:19:17.325 -> KCAN2: ID: 3C Buffer: 98 2 0 0 0 0 E3 FF 35 | 21:19:17.422 -> KCAN2: ID: 3C Buffer: C5 3 0 0 0 0 E3 FF 36 | 21:19:17.519 -> KCAN2: ID: 3C Buffer: 4B 4 0 0 0 0 E3 FF 37 | 21:19:17.616 -> KCAN2: ID: 3C Buffer: 16 5 0 0 0 0 E3 FF 38 | 21:19:17.746 -> KCAN2: ID: 3C Buffer: F1 6 0 0 0 0 E3 FF 39 | 21:19:17.904 -> KCAN2: ID: 3C Buffer: AC 7 0 0 0 0 E3 FF 40 | 21:19:17.939 -> KCAN2: ID: 3C Buffer: F0 8 0 0 0 0 E3 FF 41 | 21:19:18.035 -> KCAN2: ID: 3C Buffer: AD 9 0 0 0 0 E3 FF 42 | 21:19:18.131 -> KCAN2: ID: 3C Buffer: 4A A 0 0 0 0 E3 FF 43 | 21:19:18.229 -> KCAN2: ID: 3C Buffer: 17 B 0 0 0 0 E3 FF 44 | 21:19:18.326 -> KCAN2: ID: 3C Buffer: 99 C 0 0 0 0 E3 FF 45 | 21:19:18.423 -> KCAN2: ID: 3C Buffer: C4 D 0 0 0 0 E3 FF 46 | 21:19:18.519 -> KCAN2: ID: 3C Buffer: 23 E 0 0 0 0 E3 FF 47 | 21:19:18.616 -> KCAN2: ID: 3C Buffer: 22 0 0 0 0 0 E3 FF 48 | 21:19:18.746 -> KCAN2: ID: 3C Buffer: 7F 1 0 0 0 0 E3 FF 49 | 21:19:18.842 -> KCAN2: ID: 3C Buffer: 98 2 0 0 0 0 E3 FF 50 | 21:19:18.939 -> KCAN2: ID: 3C Buffer: C5 3 0 0 0 0 E3 FF 51 | 21:19:19.036 -> KCAN2: ID: 3C Buffer: 4B 4 0 0 0 0 E3 FF -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x420 Forward collision warning settings.txt: -------------------------------------------------------------------------------- 1 | Forward collision warning setting: 2 | 3 | Late: 4 | 23:24:23.649 -> KCAN2: ID: 420 Buffer: 20 0 FD FF FF FF FF FF 5 | 6 | Medium 7 | 23:24:31.529 -> KCAN2: ID: 420 Buffer: 24 0 FD FF FF FF FF FF 8 | 9 | Early 10 | 23:24:39.864 -> KCAN2: ID: 420 Buffer: 28 0 FD FF FF FF FF FF 11 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x42E MDrive status.txt: -------------------------------------------------------------------------------- 1 | DSC OFF: 2 | 23:34:38.480 -> KCAN2: ID: 42E Buffer: 8 1 22 12 21 8A 90 E8 3 | 4 | DSC MDM: 5 | 23:35:06.601 -> KCAN2: ID: 42E Buffer: E 3 22 12 21 8A 90 E8 6 | 7 | DSC ON: 8 | 23:35:16.548 -> KCAN2: ID: 42E Buffer: 5 2 22 12 21 8A 90 E8 9 | 10 | Engine efficient: 11 | 23:35:28.820 -> KCAN2: ID: 42E Buffer: 9 2 12 12 21 8A 90 E8 12 | 13 | Engine Sport: 14 | 23:35:45.045 -> KCAN2: ID: 42E Buffer: E 2 22 12 21 8A 90 E8 15 | 16 | Engine Sport+ 17 | 23:36:18.515 -> KCAN2: ID: 42E Buffer: 6 2 32 12 21 8A 90 E8 18 | 19 | Chassis Comfort 20 | 23:36:35.584 -> KCAN2: ID: 42E Buffer: B 2 32 11 21 8A 90 E8 21 | 22 | Chassis Sport 23 | 23:36:50.781 -> KCAN2: ID: 42E Buffer: 2 2 32 12 21 8A 90 E8 24 | 25 | Chasis Sport+ 26 | 23:37:02.303 -> KCAN2: ID: 42E Buffer: 8 2 32 13 21 8A 90 E8 27 | 28 | Steering Comfort 29 | 23:37:20.525 -> KCAN2: ID: 42E Buffer: 0 2 32 13 21 8A 90 E8 30 | 31 | Steering Sport+ 32 | 23:37:35.107 -> KCAN2: ID: 42E Buffer: 6 2 32 33 21 8A 90 E8 33 | 34 | Transmission D1 35 | 23:39:32.563 -> KCAN2: ID: 42E Buffer: 4 2 31 33 21 89 90 E8 36 | 37 | Transmission S3 38 | 23:39:45.501 -> KCAN2: ID: 42E Buffer: C 2 33 33 21 8A 90 E8 39 | 40 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x42F MDrive settings.txt: -------------------------------------------------------------------------------- 1 | DSC 2 | 18:19:51.808 -> KCAN2: ID: 42F Buffer: 2 0 0 0 C8 // DSC ON 3 | 18:19:55.954 -> KCAN2: ID: 42F Buffer: 3 0 0 0 C8 // MDM 4 | 18:19:59.395 -> KCAN2: ID: 42F Buffer: 1 0 0 0 C8 // DSC OFF 5 | 6 | 7 | Engine 8 | 18:20:41.566 -> KCAN2: ID: 42F Buffer: 0 10 0 0 C8 // Efficient 9 | 18:20:44.942 -> KCAN2: ID: 42F Buffer: 0 20 0 0 C8 // Sport 10 | 18:20:48.256 -> KCAN2: ID: 42F Buffer: 0 30 0 0 C8 // Sport+ 11 | 12 | 13 | Chassis/EDC 14 | 18:21:34.140 -> KCAN2: ID: 42F Buffer: 0 0 1 0 C8 // Comfort 15 | 18:21:37.490 -> KCAN2: ID: 42F Buffer: 0 0 2 0 C8 // Sport 16 | 18:21:40.673 -> KCAN2: ID: 42F Buffer: 0 0 3 0 C8 // Sport+ 17 | 18 | 19 | Steering 20 | 18:22:12.381 -> KCAN2: ID: 42F Buffer: 0 0 10 0 C8 // Comfort 21 | 18:22:15.216 -> KCAN2: ID: 42F Buffer: 0 0 20 0 C8 // Sport 22 | 18:22:17.994 -> KCAN2: ID: 42F Buffer: 0 0 30 0 C8 // Sport+ 23 | 24 | 25 | Reset 26 | 18:19:10.648 -> KCAN2: ID: 42F Buffer: 0 0 0 0 E0 27 | 28 | 29 | Alive ping sent when the M Drive menu appears. Used to request 0x42E status? 30 | 18:26:54.413 -> KCAN2: ID: 42F Buffer: F0 0 0 0 C8 31 | or 32 | 20:29:47.422 -> KCAN2: ID: 42F Buffer: F0 0 0 0 F8 33 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x435 Oil level measurement: -------------------------------------------------------------------------------- 1 | {0, 0xF0, 4, 0xC0}; // Measuring... 2 | 3 | 4 | {0xFF, 0xF0, 0xFF, 0xC0}; // Measurement only possible when stationary with engine on. 5 | 6 | 7 | {0, 0x50, 4, 0xC0}; // Oil level OK max. 8 | 9 | 10 | {0, 0xF0, 4, 0xC0}; // Oil level measurement currently inactive. 11 | 12 | 13 | 14 | 15 | Byte1: 16 | 17 | 18 | 0: Below Minimum add 1L immediately 19 | 20 | 0x10: Minimum add 1L 21 | 22 | 0x20: Halfway between min and middle 23 | 24 | 0x30: middle 25 | 26 | 0x40: Halfway between middle and max 27 | 28 | 0x50 and 0x60: max 29 | 30 | 0x70: Overfilled 31 | 32 | 33 | 34 | Byte2: 35 | 36 | 4: QntMssg measurement 37 | 38 | 0x40: No measured values from the sensor -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x45B 0x45C Ambient light setting.txt: -------------------------------------------------------------------------------- 1 | 0x45B setting sent by iDrive: 2 | 3 | FF FF FF 00 FF FF FF FF // Box 1 4 | 5 | FF FF FF 13 FF FF FF FF 6 | FF FF FF 1F FF FF FF FF // Increase/decrease in 0xC increments 20 boxes in total. 7 | FF FF FF 2B FF FF FF FF 8 | FF FF FF 37 FF FF FF FF 9 | FF FF FF 43 FF FF FF FF 10 | FF FF FF 4F FF FF FF FF 11 | FF FF FF 5B FF FF FF FF 12 | FF FF FF 67 FF FF FF FF 13 | FF FF FF 73 FF FF FF FF 14 | FF FF FF 7F FF FF FF FF 15 | FF FF FF 8B FF FF FF FF 16 | FF FF FF 97 FF FF FF FF 17 | FF FF FF A3 FF FF FF FF 18 | FF FF FF AF FF FF FF FF 19 | FF FF FF BB FF FF FF FF 20 | FF FF FF C7 FF FF FF FF 21 | FF FF FF D3 FF FF FF FF 22 | FF FF FF DF FF FF FF FF 23 | FF FF FF EB FF FF FF FF 24 | 25 | FF FF FF FE FF FF FF FF // Max 26 | 27 | 28 | 29 | Classic: 30 | FF FF FF FF 1F FF FF FF 31 | 32 | 33 | Sport/modern/luxury etc.: 34 | FF FF FF FF 2F FF FF FF 35 | 36 | 37 | 38 | 39 | 40 | 0x45C confirmation sent by FRM? Identical format. 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0x5E3 iDrive settings to other modules.txt: -------------------------------------------------------------------------------- 1 | Independent ventilation Timer2: 2 | 11 03 00 02 03 17 FD FF // Active: 3:23, Identical to BN2000 0x5E2 3 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0xA1 Faceplate power and eject.txt: -------------------------------------------------------------------------------- 1 | Released: 2 | 21:16:57.398 -> KCAN2: ID: A1 Buffer: 0 FF 3 | 4 | 5 | Power: 6 | 21:17:44.964 -> KCAN2: ID: A1 Buffer: 4 FF 7 | 21:17:44.964 -> KCAN2: ID: A1 Buffer: 0 FF 8 | 9 | 10 | Power, holding: 11 | 21:18:14.066 -> KCAN2: ID: A1 Buffer: 4 FF 12 | 21:18:14.066 -> KCAN2: ID: A1 Buffer: 4 FF 13 | 21:18:14.097 -> KCAN2: ID: A1 Buffer: 4 FF 14 | 21:18:14.097 -> KCAN2: ID: A1 Buffer: 4 FF 15 | 21:18:14.097 -> KCAN2: ID: A1 Buffer: 4 FF 16 | 21:18:14.129 -> KCAN2: ID: A1 Buffer: 4 FF 17 | 21:18:14.129 -> KCAN2: ID: A1 Buffer: 4 FF 18 | 21:18:14.129 -> KCAN2: ID: A1 Buffer: 4 FF 19 | 21:18:14.161 -> KCAN2: ID: A1 Buffer: 4 FF 20 | 21:18:14.161 -> KCAN2: ID: A1 Buffer: 4 FF 21 | 21:18:14.161 -> KCAN2: ID: A1 Buffer: 4 FF 22 | 21:18:14.193 -> KCAN2: ID: A1 Buffer: 4 FF 23 | 21:18:14.193 -> KCAN2: ID: A1 Buffer: 4 FF 24 | 21:18:14.193 -> KCAN2: ID: A1 Buffer: 4 FF 25 | 21:18:14.193 -> KCAN2: ID: A1 Buffer: 4 FF 26 | 21:18:14.226 -> KCAN2: ID: A1 Buffer: 4 FF 27 | 21:18:14.226 -> KCAN2: ID: A1 Buffer: 4 FF 28 | 21:18:14.226 -> KCAN2: ID: A1 Buffer: 4 FF 29 | 21:18:14.258 -> KCAN2: ID: A1 Buffer: 4 FF 30 | Release: 31 | 21:18:14.258 -> KCAN2: ID: A1 Buffer: 0 FF 32 | 33 | 34 | Eject: 35 | 21:18:44.964 -> KCAN2: ID: A1 Buffer: 1 FF 36 | 21:18:44.964 -> KCAN2: ID: A1 Buffer: 0 FF 37 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0xA2 Capacitive buttons.txt: -------------------------------------------------------------------------------- 1 | Released: 2 | 21:41:56.139 -> KCAN2: ID: A2 Buffer: 0 0 3 | 21:41:57.139 -> KCAN2: ID: A2 Buffer: 0 0 4 | 21:41:58.106 -> KCAN2: ID: A2 Buffer: 0 0 5 | 21:41:59.104 -> KCAN2: ID: A2 Buffer: 0 0 6 | 21:42:00.102 -> KCAN2: ID: A2 Buffer: 0 0 7 | 8 | 9 | Button 1 hovering: 10 | 21:42:17.936 -> KCAN2: ID: A2 Buffer: 1 0 11 | 21:42:18.064 -> KCAN2: ID: A2 Buffer: 1 0 12 | 21:42:18.161 -> KCAN2: ID: A2 Buffer: 1 0 13 | 21:42:19.160 -> KCAN2: ID: A2 Buffer: 1 0 14 | 21:42:20.161 -> KCAN2: ID: A2 Buffer: 1 0 15 | 21:42:21.158 -> KCAN2: ID: A2 Buffer: 1 0 16 | Release: 17 | 21:42:21.190 -> KCAN2: ID: A2 Buffer: 0 0 18 | 21:42:21.319 -> KCAN2: ID: A2 Buffer: 0 0 19 | 21:42:21.416 -> KCAN2: ID: A2 Buffer: 0 0 20 | 21 | 22 | Button 1 press: 23 | 21:44:03.314 -> KCAN2: ID: A2 Buffer: 2 0 24 | 21:44:03.378 -> KCAN2: ID: A2 Buffer: 2 0 25 | Short hover: 26 | 21:44:03.410 -> KCAN2: ID: A2 Buffer: 1 0 27 | 21:44:03.507 -> KCAN2: ID: A2 Buffer: 1 0 28 | Release: 29 | 21:44:03.570 -> KCAN2: ID: A2 Buffer: 0 0 30 | 21:44:03.668 -> KCAN2: ID: A2 Buffer: 0 0 31 | 32 | 33 | Button 2 hover: 34 | 21:44:36.889 -> KCAN2: ID: A2 Buffer: 4 0 35 | 21:44:36.984 -> KCAN2: ID: A2 Buffer: 4 0 36 | 21:44:37.113 -> KCAN2: ID: A2 Buffer: 4 0 37 | 21:44:38.113 -> KCAN2: ID: A2 Buffer: 4 0 38 | 21:44:39.111 -> KCAN2: ID: A2 Buffer: 4 0 39 | 21:44:40.110 -> KCAN2: ID: A2 Buffer: 4 0 40 | Release: 41 | 21:44:40.272 -> KCAN2: ID: A2 Buffer: 0 0 42 | 21:44:40.368 -> KCAN2: ID: A2 Buffer: 0 0 43 | 21:44:40.464 -> KCAN2: ID: A2 Buffer: 0 0 44 | 45 | 46 | Button 2 press: 47 | 21:45:04.502 -> KCAN2: ID: A2 Buffer: 8 0 48 | 21:45:04.533 -> KCAN2: ID: A2 Buffer: 8 0 49 | Short hover: 50 | 21:45:04.629 -> KCAN2: ID: A2 Buffer: 4 0 51 | Release: 52 | 21:45:04.695 -> KCAN2: ID: A2 Buffer: 0 0 53 | 21:45:04.790 -> KCAN2: ID: A2 Buffer: 0 0 54 | 21:45:04.920 -> KCAN2: ID: A2 Buffer: 0 0 55 | 56 | 57 | Button 3 hover: 58 | 21:45:28.695 -> KCAN2: ID: A2 Buffer: 10 0 59 | 21:45:28.790 -> KCAN2: ID: A2 Buffer: 10 0 60 | 21:45:28.886 -> KCAN2: ID: A2 Buffer: 10 0 61 | 21:45:29.885 -> KCAN2: ID: A2 Buffer: 10 0 62 | 21:45:30.883 -> KCAN2: ID: A2 Buffer: 10 0 63 | Release: 64 | 21:45:31.044 -> KCAN2: ID: A2 Buffer: 0 0 65 | 21:45:31.141 -> KCAN2: ID: A2 Buffer: 0 0 66 | 21:45:31.237 -> KCAN2: ID: A2 Buffer: 0 0 67 | 68 | 69 | Button 3 press: 70 | 21:45:49.617 -> KCAN2: ID: A2 Buffer: 20 0 71 | 21:45:49.682 -> KCAN2: ID: A2 Buffer: 20 0 72 | Short hover: 73 | 21:45:49.779 -> KCAN2: ID: A2 Buffer: 10 0 74 | Release: 75 | 21:45:49.844 -> KCAN2: ID: A2 Buffer: 0 0 76 | 21:45:49.941 -> KCAN2: ID: A2 Buffer: 0 0 77 | 21:45:50.038 -> KCAN2: ID: A2 Buffer: 0 0 78 | 79 | 80 | Button 4 hover: 81 | 21:47:23.884 -> KCAN2: ID: A2 Buffer: 40 0 82 | 21:47:23.980 -> KCAN2: ID: A2 Buffer: 40 0 83 | 21:47:24.076 -> KCAN2: ID: A2 Buffer: 40 0 84 | 21:47:25.076 -> KCAN2: ID: A2 Buffer: 40 0 85 | Release: 86 | 21:47:25.881 -> KCAN2: ID: A2 Buffer: 0 0 87 | 21:47:25.977 -> KCAN2: ID: A2 Buffer: 0 0 88 | 21:47:26.107 -> KCAN2: ID: A2 Buffer: 0 0 89 | 90 | 91 | Button 4 press: 92 | 21:47:44.834 -> KCAN2: ID: A2 Buffer: 40 0 93 | 21:47:44.865 -> KCAN2: ID: A2 Buffer: 80 0 94 | Short hover: 95 | 21:47:44.897 -> KCAN2: ID: A2 Buffer: 40 0 96 | Release: 97 | 21:47:44.962 -> KCAN2: ID: A2 Buffer: 0 0 98 | 21:47:45.090 -> KCAN2: ID: A2 Buffer: 0 0 99 | 21:47:45.185 -> KCAN2: ID: A2 Buffer: 0 0 100 | 101 | 102 | Button 5 hover: 103 | 21:48:10.293 -> KCAN2: ID: A2 Buffer: 0 1 104 | 21:48:10.422 -> KCAN2: ID: A2 Buffer: 0 1 105 | 21:48:10.519 -> KCAN2: ID: A2 Buffer: 0 1 106 | 21:48:11.518 -> KCAN2: ID: A2 Buffer: 0 1 107 | 21:48:12.517 -> KCAN2: ID: A2 Buffer: 0 1 108 | 21:48:13.515 -> KCAN2: ID: A2 Buffer: 0 1 109 | Release: 110 | 21:48:13.548 -> KCAN2: ID: A2 Buffer: 0 0 111 | 21:48:13.677 -> KCAN2: ID: A2 Buffer: 0 0 112 | 21:48:13.775 -> KCAN2: ID: A2 Buffer: 0 0 113 | 114 | 115 | Button 5 press: 116 | 21:48:32.986 -> KCAN2: ID: A2 Buffer: 0 2 117 | 21:48:33.018 -> KCAN2: ID: A2 Buffer: 0 2 118 | 21:48:33.115 -> KCAN2: ID: A2 Buffer: 0 2 119 | 21:48:33.244 -> KCAN2: ID: A2 Buffer: 0 2 120 | 21:48:34.245 -> KCAN2: ID: A2 Buffer: 0 2 121 | 21:48:35.244 -> KCAN2: ID: A2 Buffer: 0 2 122 | Short hover: 123 | 21:48:35.307 -> KCAN2: ID: A2 Buffer: 0 1 124 | Release: 125 | 21:48:35.339 -> KCAN2: ID: A2 Buffer: 0 0 126 | 21:48:35.468 -> KCAN2: ID: A2 Buffer: 0 0 127 | 21:48:35.565 -> KCAN2: ID: A2 Buffer: 0 0 128 | 129 | 130 | Button 6 hover: 131 | 21:48:55.454 -> KCAN2: ID: A2 Buffer: 0 4 132 | 21:48:55.550 -> KCAN2: ID: A2 Buffer: 0 4 133 | 21:48:55.647 -> KCAN2: ID: A2 Buffer: 0 4 134 | 21:48:56.646 -> KCAN2: ID: A2 Buffer: 0 4 135 | 21:48:57.643 -> KCAN2: ID: A2 Buffer: 0 4 136 | Release: 137 | 21:48:57.707 -> KCAN2: ID: A2 Buffer: 0 0 138 | 21:48:57.804 -> KCAN2: ID: A2 Buffer: 0 0 139 | 21:48:57.902 -> KCAN2: ID: A2 Buffer: 0 0 140 | 141 | 142 | Button 6 press: 143 | 21:49:34.647 -> KCAN2: ID: A2 Buffer: 0 8 144 | Short hover: 145 | 21:49:34.713 -> KCAN2: ID: A2 Buffer: 0 4 146 | Release: 147 | 21:49:34.809 -> KCAN2: ID: A2 Buffer: 0 0 148 | 21:49:34.907 -> KCAN2: ID: A2 Buffer: 0 0 149 | 21:49:35.003 -> KCAN2: ID: A2 Buffer: 0 0 150 | 151 | 152 | Button 7 hover: 153 | 21:49:56.950 -> KCAN2: ID: A2 Buffer: 0 10 154 | 21:49:57.048 -> KCAN2: ID: A2 Buffer: 0 10 155 | 21:49:57.178 -> KCAN2: ID: A2 Buffer: 0 10 156 | 21:49:58.178 -> KCAN2: ID: A2 Buffer: 0 10 157 | 21:49:59.144 -> KCAN2: ID: A2 Buffer: 0 0 158 | 21:49:59.274 -> KCAN2: ID: A2 Buffer: 0 0 159 | 21:49:59.371 -> KCAN2: ID: A2 Buffer: 0 0 160 | 161 | 162 | Button 7 press: 163 | 21:50:17.055 -> KCAN2: ID: A2 Buffer: 0 20 164 | 21:50:17.152 -> KCAN2: ID: A2 Buffer: 0 20 165 | Short hover: 166 | 21:50:17.184 -> KCAN2: ID: A2 Buffer: 0 10 167 | Release: 168 | 21:50:17.249 -> KCAN2: ID: A2 Buffer: 0 0 169 | 21:50:17.379 -> KCAN2: ID: A2 Buffer: 0 0 170 | 21:50:17.475 -> KCAN2: ID: A2 Buffer: 0 0 171 | 172 | 173 | Button 8 hover: 174 | 21:50:36.717 -> KCAN2: ID: A2 Buffer: 0 40 175 | 21:50:36.813 -> KCAN2: ID: A2 Buffer: 0 40 176 | 21:50:36.943 -> KCAN2: ID: A2 Buffer: 0 40 177 | 21:50:37.908 -> KCAN2: ID: A2 Buffer: 0 40 178 | 21:50:38.939 -> KCAN2: ID: A2 Buffer: 0 40 179 | Release: 180 | 21:50:39.519 -> KCAN2: ID: A2 Buffer: 0 0 181 | 21:50:39.614 -> KCAN2: ID: A2 Buffer: 0 0 182 | 21:50:39.710 -> KCAN2: ID: A2 Buffer: 0 0 183 | 184 | 185 | Button 8 press: 186 | 21:50:58.534 -> KCAN2: ID: A2 Buffer: 0 80 187 | 21:50:58.598 -> KCAN2: ID: A2 Buffer: 0 80 188 | Short hover: 189 | 21:50:58.630 -> KCAN2: ID: A2 Buffer: 0 40 190 | Release: 191 | 21:50:58.728 -> KCAN2: ID: A2 Buffer: 0 0 192 | 21:50:58.825 -> KCAN2: ID: A2 Buffer: 0 0 193 | 21:50:58.921 -> KCAN2: ID: A2 Buffer: 0 0 194 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0xA3 Faceplate seek buttons.txt: -------------------------------------------------------------------------------- 1 | Released. 2 | 3 | 21:34:32.938 -> KCAN2: ID: A3 Buffer: FC FF 4 | 21:34:33.968 -> KCAN2: ID: A3 Buffer: FC FF 5 | 21:34:34.967 -> KCAN2: ID: A3 Buffer: FC FF 6 | 21:34:35.966 -> KCAN2: ID: A3 Buffer: FC FF 7 | 21:34:36.964 -> KCAN2: ID: A3 Buffer: FC FF 8 | 21:34:37.964 -> KCAN2: ID: A3 Buffer: FC FF 9 | 10 | 11 | Left, single press: 12 | 21:35:18.408 -> KCAN2: ID: A3 Buffer: FD FF 13 | 21:35:18.505 -> KCAN2: ID: A3 Buffer: FC FF 14 | 21:35:18.634 -> KCAN2: ID: A3 Buffer: FC FF 15 | 21:35:18.731 -> KCAN2: ID: A3 Buffer: FC FF 16 | 17 | 18 | Left,holding: 19 | 21:35:41.450 -> KCAN2: ID: A3 Buffer: FD FF 20 | 21:35:41.546 -> KCAN2: ID: A3 Buffer: FD FF 21 | 21:35:41.643 -> KCAN2: ID: A3 Buffer: FD FF 22 | 21:35:42.642 -> KCAN2: ID: A3 Buffer: FD FF 23 | 21:35:43.642 -> KCAN2: ID: A3 Buffer: FD FF 24 | 21:35:44.640 -> KCAN2: ID: A3 Buffer: FD FF 25 | 21:35:45.638 -> KCAN2: ID: A3 Buffer: FD FF 26 | release: 27 | 21:35:46.441 -> KCAN2: ID: A3 Buffer: FC FF 28 | 21:35:46.569 -> KCAN2: ID: A3 Buffer: FC FF 29 | 21:35:46.666 -> KCAN2: ID: A3 Buffer: FC FF 30 | 31 | 32 | Right, single press: 33 | 21:37:13.156 -> KCAN2: ID: A3 Buffer: FE FF 34 | 21:37:13.220 -> KCAN2: ID: A3 Buffer: FC FF 35 | 21:37:13.348 -> KCAN2: ID: A3 Buffer: FC FF 36 | 21:37:13.443 -> KCAN2: ID: A3 Buffer: FC FF 37 | 38 | 39 | Right, holding: 40 | 21:37:36.117 -> KCAN2: ID: A3 Buffer: FE FF 41 | 21:37:36.245 -> KCAN2: ID: A3 Buffer: FE FF 42 | 21:37:36.341 -> KCAN2: ID: A3 Buffer: FE FF 43 | 21:37:37.339 -> KCAN2: ID: A3 Buffer: FE FF 44 | 21:37:38.370 -> KCAN2: ID: A3 Buffer: FE FF 45 | 21:37:39.371 -> KCAN2: ID: A3 Buffer: FE FF 46 | release: 47 | 21:37:39.979 -> KCAN2: ID: A3 Buffer: FC FF 48 | 21:37:40.075 -> KCAN2: ID: A3 Buffer: FC FF 49 | 21:37:40.172 -> KCAN2: ID: A3 Buffer: FC FF 50 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0xA5 Torque_1.txt: -------------------------------------------------------------------------------- 1 | This information may be inaccurate as it conflicts the DME docs. 2 | However, it displays correctly in the AAIdrive Detailed Vehicle Info widget. 3 | 4 | 5 | 6 | Byte2 - LSB 7 | Byte3 - second half: MSB 8 | 9 | 10 | E.g: 11 | 00 00 06 08 00 00 00 C1 - 4nm 12 | 00 00 08 08 00 00 00 C1 - 5nm 13 | 00 00 0B 08 00 00 00 C1 - 6nm 14 | 00 00 FF 08 00 00 00 F2 - 128nm 15 | 00 00 FF 09 00 00 00 F2 - 256nm 16 | 00 00 FF 0A 00 00 00 F2 - 384nm 17 | 00 00 FF 0D 00 00 00 F2 - 768nm 18 | 00 00 FF 0E 00 00 00 F2 - 896nm 19 | 00 00 FF 0F 00 00 00 F2 - 1024nm -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/0xF1 Volume knob.txt: -------------------------------------------------------------------------------- 1 | Released: 2 | 21:53:13.209 -> KCAN2: ID: F1 Buffer: 0 FC 3 | 21:53:14.207 -> KCAN2: ID: F1 Buffer: 0 FC 4 | 21:53:15.237 -> KCAN2: ID: F1 Buffer: 0 FC 5 | 21:53:16.235 -> KCAN2: ID: F1 Buffer: 0 FC 6 | 21:53:17.233 -> KCAN2: ID: F1 Buffer: 0 FC 7 | 21:53:18.234 -> KCAN2: ID: F1 Buffer: 0 FC 8 | 21:53:19.233 -> KCAN2: ID: F1 Buffer: 0 FC 9 | 10 | 11 | Clockwise: 12 | 21:53:51.669 -> KCAN2: ID: F1 Buffer: 1 FE 13 | 21:53:51.896 -> KCAN2: ID: F1 Buffer: 0 FC 14 | 21:53:52.090 -> KCAN2: ID: F1 Buffer: 0 FC 15 | 16 | 17 | Anti-clockwise: 18 | 21:54:09.342 -> KCAN2: ID: F1 Buffer: 1 FD 19 | 21:54:09.536 -> KCAN2: ID: F1 Buffer: 0 FC 20 | 21:54:09.761 -> KCAN2: ID: F1 Buffer: 0 FC -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/Diag-UDS/0x6F1 NBT sounds.txt: -------------------------------------------------------------------------------- 1 | JOB: steuern_routine. 2 | 3 | ARG;STEUERN_KLANGZEICHEN;STR;HMI_FBM (faceplate save button noise) 4 | 13:01:17.471 -> DCAN: ID: 6F1 Buffer: 63 5 31 1 A0 0 7 0 5 | 6 | 7 | ARG;STEUERN_KLANGZEICHEN;STR;IBrake (double beep from collision warning) 8 | 13:02:33.388 -> DCAN: ID: 6F1 Buffer: 63 5 31 1 A0 0 10 0 9 | 10 | ARG;STEUERN_KLANGZEICHEN;STR;ETC1 (single beep from Japan ETC) 11 | 13:03:01.744 -> DCAN: ID: 6F1 Buffer: 63 5 31 1 A0 0 12 0 12 | -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/Diag-UDS/0x6F1 NBT volume set.txt: -------------------------------------------------------------------------------- 1 | JOB: steuern_routine 2 | ARG: ARG;STEUERN_VOLUMEAUDIO;STR;15;Entertainment 3 | 4 | 5 | 18:56:04.844 -> DCAN: ID: 6F1 Buffer: 63 6 31 1 A0 36 F 0 // 15 in tool32 -> 0xF 6 | 18:56:04.876 -> KCAN2: ID: 663 Buffer: F1 4 71 1 A0 36 7 | 8 | 18:55:46.063 -> DCAN: ID: 6F1 Buffer: 63 6 31 1 A0 36 11 0 // 17 in tool32 -> 0x11 9 | 18:55:46.095 -> KCAN2: ID: 663 Buffer: F1 4 71 1 A0 36 -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/Diag-UDS/0x6F1 NBT volume status.txt: -------------------------------------------------------------------------------- 1 | JOB: steuern_routine 2 | ARG: ARG;STATUS_VOLUMEAUDIO;STR;Entertainment 3 | 4 | 18:49:51.288 -> DCAN: ID: 6F1 Buffer: 63 5 31 1 A0 39 0 5 | 18:49:51.352 -> KCAN2: ID: 663 Buffer: F1 5 71 1 A0 39 F // 0xF -> 15 (dec) in Tool32 6 | 7 | 18:52:08.560 -> DCAN: ID: 6F1 Buffer: 63 5 31 1 A0 39 0 8 | 18:52:08.592 -> KCAN2: ID: 663 Buffer: F1 5 71 1 A0 39 11 // 0x11 -> 17 (dec) in Tool32 -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/Diag-UDS/0x6F1 NBTEVO menu.txt: -------------------------------------------------------------------------------- 1 | JOB: STEUERN_ROUTINE 2 | ARGS: ARG;MENU;STR;1784;0;0;0 3 | 4 | 1784 = 0x6 F8 5 | 6 | 21:07:57.543 -> DCAN: ID: 6F1 Buffer: 63 10 C 31 1 A0 24 6 7 | 21:07:57.543 -> DCAN: ID: 663 Buffer: F1 30 0 0 FF FF FF FF 8 | 21:07:57.543 -> DCAN: ID: 6F1 Buffer: 63 21 F8 0 0 0 0 0 9 | 21:07:57.543 -> DCAN: ID: 6F1 Buffer: 63 22 0 0 0 0 0 0 10 | 21:07:57.575 -> DCAN: ID: 663 Buffer: F1 4 71 1 A0 24 FF FF 11 | 12 | 13 | Example ARGs: 14 | 15 | 1784;0;0;0 - MDrive / M Setup 16 | 1833 - xDrive status (X_VIEW aktiv) 17 | 1003 - Sport displays 18 | 50083 - Detailed Vehicle Info (AAIdrive) 19 | 20 | Get from AAIdrive Android app -> Car Information -> hmi.graphicalContext -> visibleContext -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/Diag-UDS/0x6F1 NBTEVO sounds.txt: -------------------------------------------------------------------------------- 1 | JOB: steuern_routine. 2 | 3 | 4 | ARG;STEUERN_KLANGZEICHEN;STR;HMI_FBM (faceplate save button noise) 5 | 12:58:07.404 -> DCAN: ID: 6F1 Buffer: 63 5 31 1 A0 0 13 0 6 | 7 | 8 | ARG;STEUERN_KLANGZEICHEN;STR;ETC1 (single beep from Japan ETC) 9 | 13:03:01.744 -> DCAN: ID: 6F1 Buffer: 63 5 31 1 A0 0 10 0 -------------------------------------------------------------------------------- /CAN messages/F-series BN2010/Network management.txt: -------------------------------------------------------------------------------- 1 | The Autosar NM algorithm is based on periodic NM messages sent by every node in the network. The reception of NM messages indicates to the receiving controller that the sending nodes want to keep the network awake. When a node is ready to sleep, this node stops sending its NM messages, but delays the transition to bus sleep mode until no more NM messages are received from other nodes. After the timers NmTimeout (time in which no NM message was received) and NmWaitBusSleepTime (additional sleep time for bus) have expired, each node switches to bus sleep mode. 2 | 3 | 4 | 5 | Bustyp MSG_CYCLE_TIME NmTimeout NmWaitBusSleepTime 6 | A-CAN 640 ms 2000 ms 1500 ms 7 | 8 | This message is sent on the bus for sleep coordination purposes. Is sent by the respective control unit as long as it is not ready to sleep. This delays the bus going to sleep by a further 2 seconds. Example, the DME sends the following message: 9 | 10 | 11 | 28.177849 1 512 Rx d 8 00 00 00 00 FF FF 00 12 12 | 13 | 14 | 15 | Signal: NM2_AUTOSAR_RES_FACAN must be assigned 0x00000000 AUTOSAR - reserve [Bytes 0 to 3] 16 | Signal: NM2_USR_DT_FACAN 17 | Byte 4 must contain the "Least Significant Byte" of the address of the function that keeps the bus awake. 18 | Byte 5 must contain the "Most Significant Byte" of the address of the function that keeps the bus awake. 19 | Byte 6 must contain 0x00 (reserved). 20 | Byte 7 must contain the diagnostic address of the control unit. -------------------------------------------------------------------------------- /CAN messages/Message translation for NBT.txt: -------------------------------------------------------------------------------- 1 | To NBT: 2 | 3 | 0x3C: Vehicle status. Translated from BN2000 0x130. 4 | 0xA1: Faceplate power/mute and eject. CIC faceplate. 5 | 0xA2: Faceplate memory buttons. UART CIC faceplate. 6 | 0xA3: Faceplate seek buttons. UART CIC faceplate. 7 | 0xF1: Faceplate volume knob. UART CIC faceplate. 8 | 0x12F: Terminal status. Translated from BN2000 0x130. 9 | 0x163: Road incline. Obtained from SINE through 0x6F1. 10 | 0x180: X_VIEW pitch angle. Obtained from SINE through 0x6F1. 11 | 0x19F: Yaw rate (gyro). Needed on NBT HW >= 10. Translated from BN2000 0x1A0. 12 | 0x1A1: Vehicle speed. Translated from BN2000 0x1A0. 13 | 0x1B6: Unknown. Blocked. 14 | 0x1C4, 0x1C5: Distance. Translated from BN2000 0x1A6. 15 | 0x253: Sport displays data. 16 | 0x2A5: Brightness. Translated from BN2000 0x314. 17 | 0x2C1: PDC status. Translated from BN2000 0x3AF. 18 | 0x2ED: Standstill status. Translated from BN2000 0x1A0. 19 | 0x2F3: X_VIEW steering angle/heading, gyro for F2X GWs Translated from BN2000 0xC8, 1A0. 20 | 0x2F7: Units. Expanded from BN2000 0x2F7. 21 | 0x301, 0x302: Steering angle, steering angle effective. Translated from BN2000 0xC8. 22 | 0x336, 0x338: CC list and CC dialog. Modified to hide messages that NBT does not support. 23 | 0x35C: Speed warning status/BC Modified to ensure 15kph minimum is set. 24 | 0x369: Flat Tyre Monitor status Translated from BN2000 0x31D. 25 | 0x380: Patched VIN to activate built-in FSCs. Obtained from NBT with 0x6F1 OR hard-coded. 26 | 0x388: Vehicle Type. Modified to report F-series body. 27 | 0x393: Kombi LCD brightness. Used by NBT for CID brightness. Translated from BN2000 0x2C0. 28 | 0x3A0: Vehicle energy condition. Translated from BN2000 0x3B4. 29 | 0x3A5: Sleep readiness global. Translated from BN2000 0x3BD. 30 | 0x3A7: Driving dynamics switch. Used for FDS mode popup. Adapted from mdrive_status and dsc_program_status. 31 | 0x3B3: DME Power management consumer control BN2010 0x3B3 has an additional byte. 32 | 0x3DD: Light CKM status. Modified value sent to NBT to match 0x3DC. 33 | 0x3F9: Powertrain data 2. Translated from BN2000 0xAA, 0x130, 0x332 and 0x3B0. 34 | 0x42E: MDrive status. Translated from BN2000 0x399. 35 | 0x510: ZGW network management. Timed with BN2000 0xC0. 36 | 0x560: Kombi network management. Timed with BN2000 0x4E0. 37 | 0x6F1: Clear errors KWP job translated to UDS for NBT_HU and ZBE. 38 | 39 | 40 | From NBT: 41 | 42 | 0x2B8: Speed warning setting. Modified some bytes to fit BN2000 format. 43 | 0x291: iDrive units/formats. Converted to use 0x5E2. 44 | 0x42F: MDrive settings. 45 | 0x317: ZBE related. Discarded. 46 | 0x31A: PDC bus status request. Converted to 0x3AE. Not forwarded to KCAN. 47 | 0x3DC: Light CKM setting. Converted to use 0x5E2. Stored last byte to correct 0x3DD. 48 | 0x5E3: Status. Used to monitor if the HU is awake. 49 | 50 | 51 | Added: 52 | 53 | 0x4E2: Radio network management. Used to keep the car awake if the radio is activated after Terminal R OFF. 54 | 0x5E2: Settings (language, units, lighting) from HU to BN2000 KOMBI. -------------------------------------------------------------------------------- /CAN messages/Traces/E92 M3 DCT 2011 traces/car info.txt: -------------------------------------------------------------------------------- 1 | KG92-EUR-08-2011-E92-BMW-M3 2 | 3 | CIC radio 4 | 5 | 6 | FA 7 | 161 8 | 1CA 9 | 1CB 10 | 1CC 11 | 1CD 12 | 223 13 | 230 14 | 2MD 15 | 2MK 16 | 2MT 17 | 2PA 18 | 302 19 | 358 20 | 415 21 | 423 22 | 428 23 | 431 24 | 441 25 | 459 26 | 470 27 | 490 28 | 493 29 | 494 30 | 4MY 31 | 502 32 | 508 33 | 521 34 | 522 35 | 524 36 | 534 37 | 540 38 | 563 39 | 575 40 | 5AC 41 | 609 42 | 612 43 | 614 44 | 615 45 | 616 46 | 620 47 | 633 48 | 688 49 | 694 50 | 698 51 | 6AA 52 | 6AB 53 | 6FL 54 | 6NF 55 | 6VC 56 | 761 57 | 775 58 | 812 59 | 850 60 | 853 61 | 877 62 | 880 63 | 8S2 64 | 8S3 65 | 8SM 66 | 8TG 67 | 8TL 68 | 8TN 69 | -------------------------------------------------------------------------------- /CAN messages/Traces/F11 525d 2010 traces/car info.txt: -------------------------------------------------------------------------------- 1 | MX32-EUR-01-2011-F11-BMW-525d 2 | 3 | CHAMP radio 4 | 5 | 6 | FA: 7 | S423 Floor mats velours 8 | S428 Warning triangle and first aid kit 9 | S431 Interior mirror with automatic-dip 10 | S441 Smoker package 11 | S494 Seat heating driver/passenger 12 | S4AT Interior trim finishers black high-gloss 13 | S4UR Ambient interior light 14 | S606 Navigation system Business 15 | S612 BMW Assist 16 | S615 Extended BMW Online Information 17 | S616 BMW Online 18 | S620 Voice control 19 | S633 Preparation, mobile phone, Business 20 | S698 Area-Code 2 for DVD 21 | S6AA BMW TeleServices 22 | S6AB Control, Teleservices 23 | S6FL USB/audio interface 24 | S6VC Control, Combox 25 | S508 Park Distance Control (PDC) 26 | S534 Automatic air conditioning 27 | S230 Extra package, EU-speciifc 28 | S258 Tyres with runflat properties 29 | S2K1 BMW LA wheel, V spoke 236 30 | S2PA Locking wheel bolt 31 | S302 Alarm system 32 | S3AT Roof rails aluminium satinated 33 | S850 Dummy-SALAPA 34 | S853 Language version, English 35 | S863 Dealer List Europe 36 | S877 Omission of non-combined operation 37 | S880 On-board literature, English 38 | S8KA Oil service interval 24 mths / 30,000 km 39 | S8S2 Coding, alarm signal 40 | S8S3 Automatic locking during starting 41 | S8SC Telematics access request,country-spec. 42 | S8SM Car ident. number visible from outside 43 | S8TF Active pedestrian protection 44 | S8TG Thiefproofing device 45 | S8TL Dummy-SALAPA 46 | S8TN Daytime driv.lights adjus.via light menu 47 | S8V1 Information plate 48 | S1CA Selection of COP-relevant vehicles 49 | S1CB CO2 equipment 50 | S1CD Brake Energy Regeneration 51 | SA090 90 Ah AGM battery -------------------------------------------------------------------------------- /CAN messages/Traces/Other/ZGW2 KCAN2 on its own.csv: -------------------------------------------------------------------------------- 1 | Time Stamp,ID,Extended,Dir,Bus,LEN,D1,D2,D3,D4,D5,D6,D7,D8 2 | 2510357,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 3 | 2527253,000003A5,false,Rx,0,5,E1,D5,FF,FF,FF,00,00,00, 4 | 2548895,000006F0,false,Rx,0,5,40,03,22,F1,90,00,00,00, 5 | 2627247,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 6 | 2687127,000003A5,false,Rx,0,5,E1,D5,FF,FF,FF,00,00,00, 7 | 2727132,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 8 | 2846980,000003A5,false,Rx,0,5,E1,D5,FF,FF,FF,00,00,00, 9 | 3047679,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 10 | 3366502,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 11 | 3547254,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 12 | 4005938,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 13 | 4046735,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 14 | 4546253,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 15 | 4645282,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 16 | 5045743,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 17 | 5284641,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 18 | 5545263,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 19 | 5924006,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 20 | 6044744,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 21 | 6544162,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 22 | 6544619,000006F0,false,Rx,0,5,40,03,22,F1,90,00,00,00, 23 | 6563238,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 24 | 7043756,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 25 | 7202712,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 26 | 7543227,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 27 | 7842049,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 28 | 8042707,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 29 | 8481406,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 30 | 8542211,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 31 | 9041724,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 32 | 9120755,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 33 | 9541229,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 34 | 9760120,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 35 | 10040694,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 36 | 10399500,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 37 | 10540176,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 38 | 10540663,000006F0,false,Rx,0,5,40,03,22,F1,90,00,00,00, 39 | 11038848,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 40 | 11039670,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 41 | 11539144,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 42 | 11678105,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 43 | 12038637,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 44 | 12317568,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 45 | 12538119,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 46 | 12956882,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 47 | 13037668,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 48 | 13537209,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 49 | 13596284,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 50 | 14036615,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 51 | 14235624,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 52 | 14536202,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 53 | 14874980,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 54 | 15035605,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 55 | 15514340,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 56 | 15535151,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 57 | 16034701,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 58 | 16153684,00000510,false,Rx,0,8,00,00,00,00,FF,FF,00,10, 59 | 16534180,000002F4,false,Rx,0,2,00,00,00,00,00,00,00,00, 60 | -------------------------------------------------------------------------------- /CAN messages/Traces/Other/shiftlight startup animation and KOMBI needle sweep KCAN.csv: -------------------------------------------------------------------------------- 1 | Time Stamp,ID,Extended,Dir,Bus,LEN,D1,D2,D3,D4,D5,D6,D7,D8 2 | 43368000,00000206,false,Rx,0,2,86,00,00,00,00,00,00,00, 3 | 43468000,000006F1,false,Rx,0,8,60,05,30,20,06,12,11,00, 4 | 43568000,000006F1,false,Rx,0,8,60,05,30,21,06,12,3D,00, 5 | 43668000,000006F1,false,Rx,0,8,60,05,30,22,06,07,4E,00, 6 | 43768000,000006F1,false,Rx,0,8,60,05,30,23,06,07,12,00, 7 | 44118000,00000206,false,Rx,0,2,0A,00,00,00,00,00,00,00, 8 | 44368000,000006F1,false,Rx,0,8,60,05,30,21,06,00,00,00, 9 | 44468000,000006F1,false,Rx,0,8,60,05,30,20,06,00,00,00, 10 | 44568000,000006F1,false,Rx,0,8,60,05,30,23,06,00,00,00, 11 | 44668000,000006F1,false,Rx,0,8,60,05,30,22,06,00,00,00, 12 | 45215000,00000206,false,Rx,0,2,05,00,00,00,00,00,00,00, 13 | 45268000,000006F1,false,Rx,0,8,60,03,30,20,00,00,00,00, 14 | 45368000,000006F1,false,Rx,0,8,60,03,30,21,00,00,00,00, 15 | 45468000,000006F1,false,Rx,0,8,60,03,30,22,00,00,00,00, 16 | 45568000,000006F1,false,Rx,0,8,60,03,30,23,00,00,00,00, 17 | 46068000,000006F1,false,Rx,0,8,60,03,30,21,00,00,00,00, 18 | 46168000,000006F1,false,Rx,0,8,60,03,30,20,00,00,00,00, 19 | 46268000,000006F1,false,Rx,0,8,60,03,30,23,00,00,00,00, 20 | 46368000,000006F1,false,Rx,0,8,60,03,30,22,00,00,00,00, 21 | -------------------------------------------------------------------------------- /Documents/E92 checkcontrol symbols.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Documents/E92 checkcontrol symbols.pdf -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log Complex 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](http://keepachangelog.com/) 6 | and this project adheres to [Semantic Versioning](http://semver.org/). 7 | 8 | ## [1.0.0] - 2023-05-19 9 | - new library interface 10 | - changed CRC32 defaults 11 | - added FastCRC32 12 | - reused parameters and algorithms 13 | 14 | ## [0.3.3] - 2023-01-17 15 | - update GitHub actions 16 | - update license 17 | - renamed releaseNotes.md to CHANGELOG.md (in line with other libs) 18 | - update readme.md 19 | 20 | ## [0.3.2] - 2022-10-30 21 | - add RP2040 to build-CI 22 | - fix version numbers 23 | 24 | ## [0.3.1] - 2022-05-20 25 | - added constructors with all parameters. 26 | CRC16(uint16_t polynome, uint16_t XORstart, uint16_t XORend, bool reverseIn, bool reverseOut); 27 | All five parameters are mandatory, no defaults in this first release. 28 | Defaults would allow the constructors merge in the future. 29 | - remove #ifndef Header guards as these are not needed. 30 | - update documentation 31 | 32 | ## [0.3.0] - 2022-04-15 33 | - split CRC.h in CRC.h and CRC.cpp to fix #21 (again) 34 | - remove #ifndef Header guards as these are not needed. 35 | 36 | ---- 37 | 38 | ## [0.2.3] - 2022-04-13 39 | - replace #pragma once with #ifndef Header guards #21 40 | 41 | ## [0.2.2] 42 | - fix #19 enable/disable yield call 43 | 44 | ## [0.2.1] 45 | - fix #17 yield() count in **add(array, length)** 46 | (kudo's to dlsloan) 47 | - added defaults for CRC64 static function. 48 | - static functions 49 | - increased length from uint8_t => uint16_t 50 | - added conditional yield(). 51 | - added CRC_polynomes.h 52 | 53 | ## [0.2.0] 54 | - added getters for parameters 55 | - made yield conditional in **add(array, length)** 56 | - improved examples 57 | - added releaseNotes.md 58 | 59 | ---- 60 | 61 | ## [0.1.6] 62 | - add CRC12 function 63 | - add CRC12 class 64 | 65 | ## [0.1.5] 66 | - TODO (just as older versions) 67 | 68 | That's all folks! 69 | 70 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2023 Rob Tillaart 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/src/CRC16.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // FILE: CRC16.cpp 3 | // AUTHOR: Rob Tillaart 4 | // PURPOSE: Arduino class for CRC16 5 | // URL: https://github.com/RobTillaart/CRC 6 | 7 | 8 | #include "CRC16.h" 9 | #include "CrcFastReverse.h" 10 | 11 | 12 | CRC16::CRC16(uint16_t polynome, 13 | uint16_t initial, 14 | uint16_t xorOut, 15 | bool reverseIn, 16 | bool reverseOut) : 17 | _polynome(polynome), 18 | _initial(initial), 19 | _xorOut(xorOut), 20 | _reverseIn(reverseIn), 21 | _reverseOut(reverseOut), 22 | _crc(initial), 23 | _count(0u) 24 | {} 25 | 26 | void CRC16::reset(uint16_t polynome, 27 | uint16_t initial, 28 | uint16_t xorOut, 29 | bool reverseIn, 30 | bool reverseOut) 31 | { 32 | _polynome = polynome; 33 | _initial = initial; 34 | _xorOut = xorOut; 35 | _reverseIn = reverseIn; 36 | _reverseOut = reverseOut; 37 | restart(); 38 | } 39 | 40 | void CRC16::restart() 41 | { 42 | _crc = _initial; 43 | _count = 0u; 44 | } 45 | 46 | uint16_t CRC16::calc() const 47 | { 48 | uint16_t rv = _crc; 49 | if (_reverseOut) rv = reverse16bits(rv); 50 | rv ^= _xorOut; 51 | return rv; 52 | } 53 | 54 | crc_size_t CRC16::count() const 55 | { 56 | return _count; 57 | } 58 | 59 | void CRC16::add(uint8_t value) 60 | { 61 | _count++; 62 | _add(value); 63 | } 64 | 65 | void CRC16::add(const uint8_t *array, crc_size_t length) 66 | { 67 | _count += length; 68 | while (length--) 69 | { 70 | _add(*array++); 71 | } 72 | } 73 | 74 | void CRC16::add(const uint8_t *array, crc_size_t length, crc_size_t yieldPeriod) 75 | { 76 | _count += length; 77 | crc_size_t period = yieldPeriod; 78 | while (length--) 79 | { 80 | _add(*array++); 81 | if (--period == 0) 82 | { 83 | yield(); 84 | period = yieldPeriod; 85 | } 86 | } 87 | } 88 | 89 | void CRC16::_add(uint8_t value) 90 | { 91 | if (_reverseIn) value = reverse8bits(value); 92 | _crc ^= ((uint16_t)value) << 8; 93 | for (uint8_t i = 8; i; i--) 94 | { 95 | if (_crc & (1UL << 15)) 96 | { 97 | _crc <<= 1; 98 | _crc ^= _polynome; 99 | } 100 | else 101 | { 102 | _crc <<= 1; 103 | } 104 | } 105 | } 106 | 107 | uint16_t CRC16::getCRC() const 108 | { 109 | return calc(); 110 | } 111 | 112 | 113 | // -- END OF FILE -- 114 | 115 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/src/CRC16.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | // 3 | // FILE: CRC16.h 4 | // AUTHOR: Rob Tillaart 5 | // PURPOSE: Arduino class for CRC16 6 | // URL: https://github.com/RobTillaart/CRC 7 | 8 | 9 | #include "CrcParameters.h" 10 | #include "CrcDefines.h" 11 | 12 | 13 | class CRC16 14 | { 15 | public: 16 | CRC16(uint16_t polynome = CRC16_POLYNOME, 17 | uint16_t initial = CRC16_INITIAL, 18 | uint16_t xorOut = CRC16_XOR_OUT, 19 | bool reverseIn = CRC16_REV_IN, 20 | bool reverseOut = CRC16_REV_OUT); 21 | 22 | void reset(uint16_t polynome = CRC16_POLYNOME, 23 | uint16_t initial = CRC16_INITIAL, 24 | uint16_t xorOut = CRC16_XOR_OUT, 25 | bool reverseIn = CRC16_REV_IN, 26 | bool reverseOut = CRC16_REV_OUT); 27 | 28 | void restart(); 29 | uint16_t calc() const; 30 | crc_size_t count() const; 31 | void add(uint8_t value); 32 | void add(const uint8_t *array, crc_size_t length); 33 | void add(const uint8_t *array, crc_size_t length, crc_size_t yieldPeriod); 34 | 35 | void setPolynome(uint16_t polynome) { _polynome = polynome; } 36 | void setInitial(uint16_t initial) { _initial = initial; } 37 | void setXorOut(uint16_t xorOut) { _xorOut = xorOut; } 38 | void setReverseIn(bool reverseIn) { _reverseIn = reverseIn; } 39 | void setReverseOut(bool reverseOut) { _reverseOut = reverseOut; } 40 | 41 | uint16_t getPolynome() const { return _polynome; } 42 | uint16_t getInitial() const { return _initial; } 43 | uint16_t getXorOut() const { return _xorOut; } 44 | bool getReverseIn() const { return _reverseIn; } 45 | bool getReverseOut() const { return _reverseOut; } 46 | 47 | [[deprecated("Use calc() instead")]] 48 | uint16_t getCRC() const; 49 | [[deprecated("Use setInitial() instead")]] 50 | void setStartXOR(uint16_t initial) { _initial = initial; } 51 | [[deprecated("Use setXorOut() instead")]] 52 | void setEndXOR(uint16_t xorOut) { _xorOut = xorOut; } 53 | [[deprecated("Use getInitial() instead")]] 54 | uint16_t getStartXOR() const { return _initial; } 55 | [[deprecated("Use getXorOut() instead")]] 56 | uint16_t getEndXOR() const { return _xorOut; } 57 | [[deprecated("Use add() with yieldPeriod instead")]] 58 | void enableYield() const {} 59 | [[deprecated("Use add() without yieldPeriod instead")]] 60 | void disableYield() const {} 61 | 62 | private: 63 | void _add(uint8_t value); 64 | 65 | uint16_t _polynome; 66 | uint16_t _initial; 67 | uint16_t _xorOut; 68 | bool _reverseIn; 69 | bool _reverseOut; 70 | uint16_t _crc; 71 | crc_size_t _count; 72 | }; 73 | 74 | 75 | // -- END OF FILE -- 76 | 77 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/src/CRC8.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // FILE: CRC8.cpp 3 | // AUTHOR: Rob Tillaart 4 | // PURPOSE: Arduino class for CRC8; 5 | // URL: https://github.com/RobTillaart/CRC 6 | 7 | 8 | #include "CRC8.h" 9 | #include "CrcFastReverse.h" 10 | 11 | 12 | CRC8::CRC8(uint8_t polynome, 13 | uint8_t initial, 14 | uint8_t xorOut, 15 | bool reverseIn, 16 | bool reverseOut) : 17 | _polynome(polynome), 18 | _initial(initial), 19 | _xorOut(xorOut), 20 | _reverseIn(reverseIn), 21 | _reverseOut(reverseOut), 22 | _crc(initial), 23 | _count(0u) 24 | {} 25 | 26 | void CRC8::reset(uint8_t polynome, 27 | uint8_t initial, 28 | uint8_t xorOut, 29 | bool reverseIn, 30 | bool reverseOut) 31 | { 32 | _polynome = polynome; 33 | _initial = initial; 34 | _xorOut = xorOut; 35 | _reverseIn = reverseIn; 36 | _reverseOut = reverseOut; 37 | restart(); 38 | } 39 | 40 | void CRC8::restart() 41 | { 42 | _crc = _initial; 43 | _count = 0u; 44 | } 45 | 46 | uint8_t CRC8::calc() const 47 | { 48 | uint8_t rv = _crc; 49 | if (_reverseOut) rv = reverse8bits(rv); 50 | rv ^= _xorOut; 51 | return rv; 52 | } 53 | 54 | crc_size_t CRC8::count() const 55 | { 56 | return _count; 57 | } 58 | 59 | void CRC8::add(uint8_t value) 60 | { 61 | _count++; 62 | _add(value); 63 | } 64 | 65 | void CRC8::add(const uint8_t *array, crc_size_t length) 66 | { 67 | _count += length; 68 | while (length--) 69 | { 70 | _add(*array++); 71 | } 72 | } 73 | 74 | void CRC8::add(const uint8_t *array, crc_size_t length, crc_size_t yieldPeriod) 75 | { 76 | _count += length; 77 | crc_size_t period = yieldPeriod; 78 | while (length--) 79 | { 80 | _add(*array++); 81 | if (--period == 0) 82 | { 83 | yield(); 84 | period = yieldPeriod; 85 | } 86 | } 87 | } 88 | 89 | void CRC8::_add(uint8_t value) 90 | { 91 | if (_reverseIn) value = reverse8bits(value); 92 | _crc ^= value; 93 | for (uint8_t i = 8; i; i--) 94 | { 95 | if (_crc & (1 << 7)) 96 | { 97 | _crc <<= 1; 98 | _crc ^= _polynome; 99 | } 100 | else 101 | { 102 | _crc <<= 1; 103 | } 104 | } 105 | } 106 | 107 | uint8_t CRC8::getCRC() const 108 | { 109 | return calc(); 110 | } 111 | 112 | 113 | // -- END OF FILE -- 114 | 115 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/src/CRC8.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | // 3 | // FILE: CRC8.h 4 | // AUTHOR: Rob Tillaart 5 | // PURPOSE: Arduino class for CRC8 6 | // URL: https://github.com/RobTillaart/CRC 7 | 8 | 9 | #include "CrcParameters.h" 10 | #include "CrcDefines.h" 11 | 12 | 13 | class CRC8 14 | { 15 | public: 16 | CRC8(uint8_t polynome = CRC8_POLYNOME, 17 | uint8_t initial = CRC8_INITIAL, 18 | uint8_t xorOut = CRC8_XOR_OUT, 19 | bool reverseIn = CRC8_REV_IN, 20 | bool reverseOut = CRC8_REV_OUT); 21 | 22 | void reset(uint8_t polynome = CRC8_POLYNOME, 23 | uint8_t initial = CRC8_INITIAL, 24 | uint8_t xorOut = CRC8_XOR_OUT, 25 | bool reverseIn = CRC8_REV_IN, 26 | bool reverseOut = CRC8_REV_OUT); 27 | 28 | void restart(); 29 | uint8_t calc() const; 30 | crc_size_t count() const; 31 | void add(uint8_t value); 32 | void add(const uint8_t *array, crc_size_t length); 33 | void add(const uint8_t *array, crc_size_t length, crc_size_t yieldPeriod); 34 | 35 | void setPolynome(uint8_t polynome) { _polynome = polynome; } 36 | void setInitial(uint8_t initial) { _initial = initial; } 37 | void setXorOut(uint8_t xorOut) { _xorOut = xorOut; } 38 | void setReverseIn(bool reverseIn) { _reverseIn = reverseIn; } 39 | void setReverseOut(bool reverseOut) { _reverseOut = reverseOut; } 40 | 41 | uint8_t getPolynome() const { return _polynome; } 42 | uint8_t getInitial() const { return _initial; } 43 | uint8_t getXorOut() const { return _xorOut; } 44 | bool getReverseIn() const { return _reverseIn; } 45 | bool getReverseOut() const { return _reverseOut; } 46 | 47 | [[deprecated("Use calc() instead")]] 48 | uint8_t getCRC() const; 49 | [[deprecated("Use setInitial() instead")]] 50 | void setStartXOR(uint8_t initial) { _initial = initial; } 51 | [[deprecated("Use setXorOut() instead")]] 52 | void setEndXOR(uint8_t xorOut) { _xorOut = xorOut; } 53 | [[deprecated("Use getInitial() instead")]] 54 | uint8_t getStartXOR() const { return _initial; } 55 | [[deprecated("Use getXorOut() instead")]] 56 | uint8_t getEndXOR() const { return _xorOut; } 57 | [[deprecated("Use add() with yieldPeriod instead")]] 58 | void enableYield() const {} 59 | [[deprecated("Use add() without yieldPeriod instead")]] 60 | void disableYield() const {} 61 | 62 | private: 63 | void _add(uint8_t value); 64 | 65 | uint8_t _polynome; 66 | uint8_t _initial; 67 | uint8_t _xorOut; 68 | bool _reverseIn; 69 | bool _reverseOut; 70 | uint8_t _crc; 71 | crc_size_t _count; 72 | }; 73 | 74 | 75 | // -- END OF FILE -- 76 | 77 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/src/CrcDefines.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | // 3 | // FILE: CrcDefines.h 4 | // AUTHOR: vovagorodok 5 | // PURPOSE: Arduino class for CRC 6 | // URL: https://github.com/RobTillaart/CRC 7 | 8 | 9 | #include 10 | 11 | 12 | #if defined(CRC_CUSTOM_SIZE) 13 | using crc_size_t = CRC_CUSTOM_SIZE; 14 | #elif defined(__AVR__) 15 | using crc_size_t = uint16_t; 16 | #else 17 | using crc_size_t = size_t; 18 | #endif 19 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/src/CrcFastReverse.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // FILE: CrcFastReverse.cpp 3 | // AUTHOR: vovagorodok 4 | // PURPOSE: Arduino class for CRC 5 | // URL: https://github.com/RobTillaart/CRC 6 | 7 | 8 | #include "CrcFastReverse.h" 9 | 10 | 11 | uint8_t reverse8bits(uint8_t in) 12 | { 13 | uint8_t x = in; 14 | x = (((x & 0xAA) >> 1) | ((x & 0x55) << 1)); 15 | x = (((x & 0xCC) >> 2) | ((x & 0x33) << 2)); 16 | x = ((x >> 4) | (x << 4)); 17 | return x; 18 | } 19 | 20 | uint16_t reverse16bits(uint16_t in) 21 | { 22 | uint16_t x = in; 23 | x = (((x & 0XAAAA) >> 1) | ((x & 0X5555) << 1)); 24 | x = (((x & 0xCCCC) >> 2) | ((x & 0X3333) << 2)); 25 | x = (((x & 0xF0F0) >> 4) | ((x & 0X0F0F) << 4)); 26 | x = (( x >> 8) | (x << 8)); 27 | return x; 28 | } 29 | 30 | uint16_t reverse12bits(uint16_t in) 31 | { 32 | return reverse16bits(in) >> 4; 33 | } 34 | 35 | uint32_t reverse32bits(uint32_t in) 36 | { 37 | uint32_t x = in; 38 | x = (((x & 0xAAAAAAAA) >> 1) | ((x & 0x55555555) << 1)); 39 | x = (((x & 0xCCCCCCCC) >> 2) | ((x & 0x33333333) << 2)); 40 | x = (((x & 0xF0F0F0F0) >> 4) | ((x & 0x0F0F0F0F) << 4)); 41 | x = (((x & 0xFF00FF00) >> 8) | ((x & 0x00FF00FF) << 8)); 42 | x = (x >> 16) | (x << 16); 43 | return x; 44 | } 45 | 46 | uint64_t reverse64bits(uint64_t in) 47 | { 48 | uint64_t x = in; 49 | x = (((x & 0xAAAAAAAAAAAAAAAA) >> 1) | ((x & 0x5555555555555555) << 1)); 50 | x = (((x & 0xCCCCCCCCCCCCCCCC) >> 2) | ((x & 0x3333333333333333) << 2)); 51 | x = (((x & 0xF0F0F0F0F0F0F0F0) >> 4) | ((x & 0x0F0F0F0F0F0F0F0F) << 4)); 52 | x = (((x & 0xFF00FF00FF00FF00) >> 8) | ((x & 0x00FF00FF00FF00FF) << 8)); 53 | x = (((x & 0xFFFF0000FFFF0000) >> 16) | ((x & 0x0000FFFF0000FFFF) << 16)); 54 | x = (x >> 32) | (x << 32); 55 | return x; 56 | } 57 | 58 | 59 | uint8_t reverse8(uint8_t in) 60 | { 61 | return reverse8bits(in); 62 | } 63 | 64 | uint16_t reverse12(uint16_t in) 65 | { 66 | return reverse12bits(in); 67 | } 68 | 69 | uint16_t reverse16(uint16_t in) 70 | { 71 | return reverse16bits(in); 72 | } 73 | 74 | uint32_t reverse32(uint32_t in) 75 | { 76 | return reverse32bits(in); 77 | } 78 | 79 | uint64_t reverse64(uint64_t in) 80 | { 81 | return reverse64bits(in); 82 | } 83 | 84 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/CRC/src/CrcFastReverse.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | // 3 | // FILE: CrcFastReverse.h 4 | // AUTHOR: vovagorodok 5 | // PURPOSE: Arduino class for CRC 6 | // URL: https://github.com/RobTillaart/CRC 7 | 8 | 9 | #include "Arduino.h" 10 | 11 | uint8_t reverse8bits(uint8_t in); 12 | uint16_t reverse16bits(uint16_t in); 13 | uint16_t reverse12bits(uint16_t in); 14 | uint32_t reverse32bits(uint32_t in); 15 | uint64_t reverse64bits(uint64_t in); 16 | 17 | [[deprecated("Use reverse8bits() instead")]] uint8_t reverse8(uint8_t in); 18 | [[deprecated("Use reverse12bits() instead")]] uint16_t reverse16(uint16_t in); 19 | [[deprecated("Use reverse16bits() instead")]] uint16_t reverse12(uint16_t in); 20 | [[deprecated("Use reverse32bits() instead")]] uint32_t reverse32(uint32_t in); 21 | [[deprecated("Use reverse64bits() instead")]] uint64_t reverse64(uint64_t in); 22 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/FlexCAN_T4/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Antonio Brewer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/MCP_CAN_lib/license.txt: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright © 2007 Free Software Foundation, Inc. 5 | 6 | Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 7 | 8 | This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 9 | 10 | 0. Additional Definitions. 11 | As used herein, “this License” refers to version 3 of the GNU Lesser General Public License, and the “GNU GPL” refers to version 3 of the GNU General Public License. 12 | 13 | “The Library” refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. 14 | 15 | An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. 16 | 17 | A “Combined Work” is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the “Linked Version”. 18 | 19 | The “Minimal Corresponding Source” for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. 20 | 21 | The “Corresponding Application Code” for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 22 | 23 | 1. Exception to Section 3 of the GNU GPL. 24 | You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 25 | 26 | 2. Conveying Modified Versions. 27 | If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: 28 | 29 | a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or 30 | b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 31 | 3. Object Code Incorporating Material from Library Header Files. 32 | The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: 33 | 34 | a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. 35 | b) Accompany the object code with a copy of the GNU GPL and this license document. 36 | 4. Combined Works. 37 | You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: 38 | 39 | a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. 40 | b) Accompany the Combined Work with a copy of the GNU GPL and this license document. 41 | c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. 42 | d) Do one of the following: 43 | 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 44 | 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. 45 | e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 46 | 5. Combined Libraries. 47 | You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: 48 | 49 | a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. 50 | b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 51 | 6. Revised Versions of the GNU Lesser General Public License. 52 | The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. 53 | 54 | Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. 55 | 56 | If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. 57 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/queue/LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2017-2024, SMFSW 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/wdt4/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Antonio Brewer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /E9X-M-CAN-Integration-Module/src/wdt4/Watchdog_t4.h: -------------------------------------------------------------------------------- 1 | #if !defined(_WATCHDOG_T4_H_) 2 | #define _WATCHDOG_T4_H_ 3 | 4 | #include "Arduino.h" 5 | 6 | typedef void (*watchdog_class_ptr)(); 7 | 8 | typedef enum WDT_DEV_TABLE { 9 | WDT1 = (uint32_t)0x400B8000, 10 | WDT2 = (uint32_t)0x400D0000, 11 | WDT3 = (uint32_t)0x400BC000, 12 | EWM = (uint32_t)0x400B4000 13 | } WDT_DEV_TABLE; 14 | 15 | typedef enum RTWDOG_CLK_TABLE { 16 | BUS_CLK = 0, 17 | LPO_CLK = 1, 18 | INT_CLK = 2, 19 | ER_CLK = 3 20 | } RTWDOG_CLK_TABLE; 21 | 22 | typedef struct WDT_timings_t { 23 | double trigger = 5; 24 | double timeout = 10; 25 | double window = 0; 26 | uint8_t pin = 0; 27 | RTWDOG_CLK_TABLE clock = LPO_CLK; /* default clock, 32KHz */ 28 | bool lp_suspend = 0; 29 | uint8_t input = 0; 30 | bool update = 1; 31 | bool cmd32en = 1; 32 | watchdog_class_ptr callback = nullptr; 33 | } WDT_timings_t; 34 | 35 | #define WDT_CLASS template 36 | #define WDT_FUNC template 37 | #define WDT_OPT WDT_T4<_device> 38 | 39 | class WDT_T4_Base { 40 | public: 41 | virtual void watchdog_isr() = 0; 42 | virtual void ewatchdog_isr() = 0; 43 | watchdog_class_ptr watchdog_class_handler = 0; 44 | private: 45 | }; 46 | 47 | static WDT_T4_Base* _WDT1 = nullptr; 48 | static WDT_T4_Base* _WDT2 = nullptr; 49 | static WDT_T4_Base* _WDT3 = nullptr; 50 | static WDT_T4_Base* _EWM = nullptr; 51 | 52 | WDT_CLASS class WDT_T4 : public WDT_T4_Base { 53 | public: 54 | void begin(WDT_timings_t config); 55 | void callback(watchdog_class_ptr handler) { watchdog_class_handler = handler; } 56 | void reset(); 57 | void feed(); 58 | bool expired(); 59 | private: 60 | watchdog_class_ptr watchdog_class_handler; 61 | void watchdog_isr(); 62 | void ewatchdog_isr(); 63 | }; 64 | 65 | #include "Watchdog_t4.tpp" 66 | #endif 67 | -------------------------------------------------------------------------------- /Firmware changes/DME MSD81/Original CAN filters IKM0S.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Firmware changes/DME MSD81/Original CAN filters IKM0S.png -------------------------------------------------------------------------------- /Firmware changes/DME MSD81/Original CAN table IKM0S.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Firmware changes/DME MSD81/Original CAN table IKM0S.png -------------------------------------------------------------------------------- /Firmware changes/DME MSD81/csprogram-windows.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Firmware changes/DME MSD81/csprogram-windows.exe -------------------------------------------------------------------------------- /Firmware changes/DME MSD81/msd80 sport mode check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Firmware changes/DME MSD81/msd80 sport mode check.png -------------------------------------------------------------------------------- /Firmware changes/DME MSD81/read.txt: -------------------------------------------------------------------------------- 1 | In order to use MHD to write the modified program section back to the ECU the CRC checksum at 0x80304 must be corrected. 2 | When flashing in MHD a Long Write must be initiated. Check/Uncheck MT Shift Bog Fix for example. 3 | 4 | 5 | 1. Make the required modifications to the bin file. 6 | 7 | 2. Rename to "input.bin" and place in the same folder as "csprogram-windows.exe" 8 | 9 | 3. Run "csprogram-windows.exe". Map and Program checksums will be corrected automatically. -------------------------------------------------------------------------------- /Firmware changes/SVT70 Servotronic/BDM pinout.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Firmware changes/SVT70 Servotronic/BDM pinout.jpg -------------------------------------------------------------------------------- /Firmware changes/SVT70 Servotronic/read.txt: -------------------------------------------------------------------------------- 1 | Read/Write as MC9S12XD256 (XPROG 5.51) - chip is unsecured. 2 | 3 | Chip model is MC9S12XDG128MAA - 2M42E 4 | 5 | The module must be powered by car or 12v pins. Programmers are too weak. 6 | (Pins 2,3 +12V), (Pin 1 GND). 7 | 8 | To decouple SVT from 0x326 (when fitted with EDC), SVT must be made to ignore 0x326 and instead listen to an arbitrary CANID that we control. 9 | To find the CANID in the SVT module binary shift CANID to the left 5 times. 10 | I.e 0x326 << 5 = 64 C0. 64 C0 is stored at 0xD8C2D. 11 | To change to 0x327 set 0xD8C2D to 64 and 0xD8C2E to E0. 12 | 13 | The only effective way to control PWM output to the valve at runtime (i.e no coding or 6F1 jobs) is by manipulating the speed message. 14 | 0x1A0 << 5 = 34 00. 15 | To change to 0x1A4 set 0xD8C33 to 34 and 0xD8C34 to 80. 16 | 17 | 18 | Remove error 0x6571 (Memory error RAM/ROM): 19 | Set D88AF and D88B0 to 00. -------------------------------------------------------------------------------- /Images/CIC/idrive-settings.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/CIC/idrive-settings.jpg -------------------------------------------------------------------------------- /Images/CIC/m-key-settings.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/CIC/m-key-settings.jpg -------------------------------------------------------------------------------- /Images/EVO/cc-gauge1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/EVO/cc-gauge1.jpg -------------------------------------------------------------------------------- /Images/EVO/cc-gauge2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/EVO/cc-gauge2.jpg -------------------------------------------------------------------------------- /Images/EVO/mdrive.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/EVO/mdrive.jpg -------------------------------------------------------------------------------- /Images/EVO/oil-level.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/EVO/oil-level.jpg -------------------------------------------------------------------------------- /Images/EVO/sport-displays.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/EVO/sport-displays.jpg -------------------------------------------------------------------------------- /Images/Fog/indicator off.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/Fog/indicator off.jpg -------------------------------------------------------------------------------- /Images/Fog/indicatoron.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/Fog/indicatoron.jpg -------------------------------------------------------------------------------- /Images/Fog/light switch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/Fog/light switch.jpg -------------------------------------------------------------------------------- /Images/NBT/IHK buttons pinout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/IHK buttons pinout.png -------------------------------------------------------------------------------- /Images/NBT/faceplate - pinout.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/faceplate - pinout.jpg -------------------------------------------------------------------------------- /Images/NBT/fds.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/fds.jpg -------------------------------------------------------------------------------- /Images/NBT/mdrive.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/mdrive.jpg -------------------------------------------------------------------------------- /Images/NBT/oil-level.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/oil-level.jpg -------------------------------------------------------------------------------- /Images/NBT/ribbon soldered.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/ribbon soldered.jpg -------------------------------------------------------------------------------- /Images/NBT/rpa.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/rpa.jpg -------------------------------------------------------------------------------- /Images/NBT/service.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/service.jpg -------------------------------------------------------------------------------- /Images/NBT/sport-displays.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/NBT/sport-displays.jpg -------------------------------------------------------------------------------- /Images/POWER LED pcb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/POWER LED pcb.jpg -------------------------------------------------------------------------------- /Images/PTC heater/pwm circuit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/PTC heater/pwm circuit.jpg -------------------------------------------------------------------------------- /Images/board/board-back.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/board/board-back.jpg -------------------------------------------------------------------------------- /Images/board/board.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/board/board.jpg -------------------------------------------------------------------------------- /Images/case.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/case.jpg -------------------------------------------------------------------------------- /Images/cpu-clock-temperature-lifetime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/cpu-clock-temperature-lifetime.png -------------------------------------------------------------------------------- /Images/exhaust-flap-flyback.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/exhaust-flap-flyback.jpg -------------------------------------------------------------------------------- /Images/hdc-msa-buttons.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/hdc-msa-buttons.jpg -------------------------------------------------------------------------------- /Images/kombi-m.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/kombi-m.jpg -------------------------------------------------------------------------------- /Images/launch-control/cid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/launch-control/cid.jpg -------------------------------------------------------------------------------- /Images/launch-control/kombi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/launch-control/kombi.jpg -------------------------------------------------------------------------------- /Images/shiftlight.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Images/shiftlight.jpg -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 wofy 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /NBT faceplate.txt: -------------------------------------------------------------------------------- 1 | ICs on board: 2 | 3 | QT110A-ISG: touch sensor IC, 2.5V ~ 5.5V. 4 | ATMEGA88-15MT1: 8 bit MCU, 2.7V ~ 5.5V. 5 | 6 | 7 | Pinout: 8 | [10 pin TE Micro Match] 9 | 10 | 1 - GND 11 | 2 - Eject 12 | 4 - Faceplate TX 13 | 7 - Power/Mute 14 | 9 - 58G 15 | 10 - VCC 3.3V (CIC). 5V ok also. 16 | 17 | 18 | UART settings: 19 | 38400 baud, 8 data bits, one stop bit, even parity (8E1). -------------------------------------------------------------------------------- /Variable redline/kombi redline.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Variable redline/kombi redline.jpg -------------------------------------------------------------------------------- /Variable redline/redline graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Variable redline/redline graph.png -------------------------------------------------------------------------------- /Variable redline/redline settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Variable redline/redline settings.png -------------------------------------------------------------------------------- /Variable redline/variable-redline-ikm0s.xdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 0x1 5 | Variable Redline IKM0S 6 | 7 | SuperWofy 8 | 9 | 10 | 11 | 12 | 13 | Variable Redline Orange Area Coolant Breakpoints 14 | LDP_TCO_N_MAX_1 15 | 16 | 17 | Step 18 | 4 19 | 2 20 | 0 21 | 0 22 | 23 | 31 | 32 | 33 | C 34 | 1 35 | 13 36 | 0 37 | 38 | 43 | 44 | 45 | C 46 | 3 47 | 0.000000 48 | 255.000000 49 | 1 50 | 51 | 52 | 53 | 54 | 55 | 56 | Variable Redline Red Area Coolant Breakpoints 57 | LDP_TCO_N_MAX_2 58 | 59 | 60 | Step 61 | 4 62 | 2 63 | 0 64 | 0 65 | 66 | 74 | 75 | 76 | C 77 | 1 78 | 13 79 | 0 80 | 81 | 86 | 87 | 88 | C 89 | 3 90 | 0.000000 91 | 255.000000 92 | 1 93 | 94 | 95 | 96 | 97 | 98 | 99 | Variable Redline Orange Area (visible in KOMBI) 100 | IP_N_MAX_1_TCO 101 | 102 | 103 | C 104 | 4 105 | 3 106 | 107 | 0 108 | 0 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | rpm 117 | 1 118 | 0 119 | 0 120 | 121 | 126 | 127 | 128 | rpm 129 | 2 130 | 0.000000 131 | 6820.000000 132 | 2 133 | 134 | 135 | 136 | 137 | 138 | 139 | Variable Redline Red Area 140 | IP_N_MAX_2_TCO 141 | 142 | 143 | C 144 | 4 145 | 3 146 | 147 | 0 148 | 0 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | rpm 157 | 1 158 | 0 159 | 0 160 | 161 | 166 | 167 | 168 | rpm 169 | 2 170 | 0.000000 171 | 6820.000000 172 | 2 173 | 174 | 175 | 176 | 177 | 178 | 179 | -------------------------------------------------------------------------------- /Video/2-3k shift lights demo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Video/2-3k shift lights demo.mp4 -------------------------------------------------------------------------------- /Video/shiftlights-startup.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Video/shiftlights-startup.mp4 -------------------------------------------------------------------------------- /Video/standstill shiftlight demo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/superwofy/E9X-M-CAN-Integration-Module/e222aa2efbd5333cb4fb35411f0aa87bcf883f48/Video/standstill shiftlight demo.mp4 -------------------------------------------------------------------------------- /coding parameters.txt: -------------------------------------------------------------------------------- 1 | # NBT EVO ID5/6 23-07, Coded as F082 3R91 or 3R92. 2 | 3 | SERVICE_HISTORY // Disable service history in Vehicle status 4 | nicht_aktiv 5 | IBA // Disables owner's manual 6 | nicht_aktiv 7 | SETTINGS_TIME_AUTOMATIC // Update time with GPS 8 | navigation 9 | MMI_STATISTIK // Disable some logging 10 | nicht_aktiv 11 | HELLIGKEIT_AMBILIGHT // Disable interior brightness setting 12 | nicht_aktiv 13 | DEAKTIVIERUNGSMOEGLICHKEIT_AMBILIGHT 14 | deaktivierung_bmw 15 | COLOUR_SWITCH 16 | nicht_aktiv 17 | MACRO_CAM_LEGALDISCLAIMER // Camera disclaimer 18 | kein_ld 19 | COMMUNICATION_PARKMASTER // PDC not working without this. 20 | gen2 21 | SLEEPDELAY_CLAMP30B_MIN // Delay sleep until follow-up clamp timeout is below Xs. Should be set to CAS KL30G_TIMEOUT - 6min but custom values do not work! 22 | wert_1440s 23 | SLEEPDELAY_TIMERVALUE // 1E - (EXX CIC value). 24 | wert_300s 25 | SHUTDOWN_DELAY_TIMER_1 // After bus activity detected, wait 20s after complete boot to shutdown (EXX CIC value). 26 | wert_20s 27 | ECO_CSC_KOMBI 28 | nicht_aktiv 29 | ID5_COLOR_SET 30 | nicht_aktiv 31 | CC_CBS_ETH_SERVICE_VERSION 32 | version_1 33 | M_DIGITAL_TACHO 34 | nicht_aktiv 35 | SETTINGS_INFO_DISPLAY 36 | nicht_aktiv 37 | SETTINGS_INFO_DISPLAY_DATE 38 | nicht_aktiv 39 | KEY_CONF_TAILGATE // Hides tailgate button menu 40 | nicht_aktiv 41 | M_MENUE // M Setup instead of MDrive 42 | aktiv 43 | MDRIVE_CONFIG // Single MDrive 44 | 1_menu 45 | ECO_MODE // Deactivates ECO mode and Efficient dynamics 46 | nicht_aktiv 47 | HIST_ZOOM 48 | nicht_aktiv 49 | HIST_GAS_CONSUMP 50 | nicht_aktiv 51 | DRIVE_EXP_BRW 52 | nicht_aktiv 53 | STABILITY_CONTROL_POPUP // DSC mode change in conjunction with 0x3A7 54 | aktiv 55 | CAM_ECU // VSW output connected to +21, -24 and shield 23 of A42*1B. 56 | wert_1 57 | TV 58 | wert_1 59 | DIMMUNGSVARIANTE // old style brightness adjustment 60 | alte_dimmung 61 | DIM_VARIANT 62 | old 63 | BASIS_KOMBI_MMI_LIST 64 | aktiv 65 | GATEWAYTABLE 66 | table_7 67 | PRODUKTLINIE 68 | lg 69 | KOMBI_CIC 70 | kombi_low 71 | CAMERA_SYSTEM 72 | trsvc 73 | X_VIEW // xDrive status 74 | aktiv 75 | COMPASS 76 | aktiv 77 | OELSTAND_OENS // Old CIC-like Oil menu 78 | nicht_aktiv 79 | LANGUAGE_CZECH // Unsupported languages 80 | nicht_aktiv 81 | LANGUAGE_DANISH 82 | nicht_aktiv 83 | LANGUAGE_NORWEGIAN 84 | nicht_aktiv 85 | LANGUAGE_SLOVENIAN 86 | nicht_aktiv 87 | LANGUAGE_SLOVAKIAN 88 | nicht_aktiv 89 | LANGUAGE_FINNISH 90 | nicht_aktiv 91 | 92 | 93 | # CIC 94 | 95 | CIC_MDRIVE // Enables M3 MDrive 96 | aktiv 97 | M_KEY_SETTINGS // Enables M3 key profile settings 98 | aktiv 99 | EDC_CIC // EDC, if retrofitted. 100 | aktiv 101 | DSC_OFF_CIC // Allows disabling DSC from MDrive menu, 102 | aktiv 103 | MACRO_L6_PARKMENU // Rear view camera settings 104 | aktiv 105 | 106 | 107 | 108 | # KOMBI 109 | 110 | MMI_ENA_SHIFTLIGHTS // Enable shiftlights 111 | aktiv 112 | DSC_VARIANTE // Changes DSC symbol when disabled, disables DTC mode kombi screen warning 113 | wert_02 114 | CC_ID_AKTIV_11 115 | // Change the second byte from 0xFF to 0x7D (i.e 11111111 to 01111101) 116 | // This disables the Ignition On door open CC. 117 | // This is required to make the DOOR_VOLUME feature work. 118 | 119 | 120 | 121 | # IHKA 122 | 123 | MSA // Activates the Auto-Start-Stop button. 124 | aktiv 125 | 126 | 127 | 128 | # SVT 70: Scaled E92 M3 parameters. Steering angle current change disabled. 129 | # see "SVT70 parameter value explanations.txt" 130 | 131 | BETRIEBSWERTE 132 | wert_01 133 | REGLERPARAMETER 134 | wert_01 135 | WANDLERKENNLINIE 136 | 00,3B,59,7C,A3,B2,C1,FF,00,00,00,00,00,00,00,00,00,00,00,C8,01,2C,01,A4,02,26,02,58,02,8A,03,5C 137 | STUETZSTELLEN_V_LW 138 | 00,00,00,32,00,96,01,2C,01,C2,02,58,03,20,03,E8,04,B0,07,D0,00,00,00,1E,00,78,02,58,04,B0,07,08 139 | KENNLINIEN1_3_NORM 140 | ED,E9,AD,8D,83,7D,72,5E,14,00,ED,E9,AD,8D,83,7D,72,5E,14,00,ED,E9,AD,8D,83,7D,72,5E,14,00,00,00 141 | KENNLINIEN4_6_NORM 142 | ED,E9,AD,8D,83,7D,72,5E,14,00,FF,E9,AD,8D,83,7D,72,5E,14,00,FF,E9,AD,8D,83,7D,72,5E,14,00,00,00 143 | KENNLINIEN1_3_SPORT 144 | ED,E9,9C,80,72,6B,54,30,01,00,ED,E9,9C,80,72,6B,54,30,01,00,ED,E9,9C,80,72,6B,54,30,01,00,00,00 145 | KENNLINIEN4_6_SPORT 146 | ED,E9,9C,80,72,6B,54,30,01,00,FF,E9,9C,80,72,6B,54,30,01,00,FF,E9,9C,80,72,6B,54,30,01,00,00,00 147 | 148 | 149 | 150 | # JBBF3R 151 | 152 | PIA_EDC // Enables EDC M3 key profile setting. 153 | mit_mmi 154 | EDC_LED_SWITCH // Enables EDC button instead of Servotronic PWM from JBE. 155 | aktiv 156 | DSC_SWITCH // Disabled for M3 hazards cluster. 157 | nicht_aktiv 158 | RPA_SWITCH // Enables the Flat tyre monitor reset button. 159 | aktiv 160 | SCHEINWERFERREININUNG // Disables the built in logic for headlight cleaning. 161 | nicht_aktiv 162 | 163 | 164 | # FRM 165 | 166 | ASP_KOMFORT_EINKLAPP // Disable the original comfort fold mirror behavior. 167 | nicht_aktiv 168 | MAX_SCHWENK_V_H_BEGR_SP // Faster swivel speed (horizontal) in sport mode. 169 | wert_21 170 | -------------------------------------------------------------------------------- /pin assignment.txt: -------------------------------------------------------------------------------- 1 | ** With the exception of bus wires, harness colors were chosen randomly. 2 | 3 | 4 | Black 12-pin connector (MQS 0.64): 5 | 6 | 1 - Faceplate eject black 7 | 2 - KCAN-L green 8 | 3 - Faceplate power/mute red 9 | 4 - PTCAN-L red/black 10 | 7 - 30G Power black/red 11 | 8 - KCAN-H orange/green 12 | 9 - PTCAN-H blue/red 13 | 10 - DCAN-L white/blue 14 | 11 - DCAN-H white/yellow 15 | 12 - GND black/brown 16 | 17 | 18 | 19 | White 18-pin connector (MQS 0.64): 20 | 21 | 9 - Faceplate TX yellow 22 | 10 - KCAN2-L yellow/brown 23 | 11 - KCAN2-H yellow/red 24 | 13 - Exhaust flap solenoid gray 25 | -> Use flyback diode between +/- 26 | -> Disconnect DME X60001 pin 5 27 | 14 - Steering heater switch black 28 | 15 - Front FOG button LED blue/yellow 29 | 16 - POWER console LED black/white 30 | 17 - POWER console switch white/red 31 | 18 - DSC console switch white/brown 32 | 33 | 34 | 35 | Teensy 4.0 pins: 36 | 37 | [Visible] 38 | 0,1 - CAN2 (PTCAN) 39 | 2 - POWER console switch 40 | 3 - POWER console LED 41 | 4 - Front FOG button LED 42 | 5 - Steering heater switch 43 | 44 | 9 - MCP2515 INT 45 | 10 - MCP2515 CS 46 | 11 - MCP2515 MOSI 47 | 12 - MCP2515 MISO 48 | 13 - MCP2515 SCK 49 | 14 - CAN3 (DCAN) STBY 50 | 15 - CAN2 (PTCAN) STBY 51 | 16 - DSC console switch 52 | 17 - Exhaust flap solenoid 53 | 18 - Faceplate eject 54 | 19 - Faceplate power/mute 55 | 56 | 21 - Faceplate TX 57 | 22,23 - CAN1 (KCAN) 58 | 59 | [Below PCB] 60 | 30,31 - CAN3 (DCAN) --------------------------------------------------------------------------------