Gabor Feher
/
BMWE90-InstrumentCluster
Making a BMW E90 instrument cluster alive for demonstration purposes
main.cpp
- Committer:
- gume
- Date:
- 2017-03-07
- Revision:
- 0:830e074c92d5
- Child:
- 1:a582aeb10c32
File content as of revision 0:830e074c92d5:
#include "mbed.h" #include "T15Msg.h" Ticker ticker; DigitalOut led1(PA_5); CAN can1(PB_8, PB_9); // rd, td Transmitter T15Msg t15; /* 0x130 (CAS) T15 signal, 100 ms 0x1B4 (Kombi) OUT? Speed status, 100 ms */ void sendT15() { if (t15.sendMessage(&can1)) { printf("T15 sent \n"); } led1 = !led1; /* char data_130 [] = { 0x45, 0x42, 0x8F, 0xE2, 0xFE }; char data_130 [] = { 0x45, 0x40, 0x21, 0x8F, 0x00 }; */ } void sendLight(char mode) { /* // Light CAN ID-----DATA ===== ----==== 21A-------00 20 F7 OFF 21A-------04 22 F7 Parking light / angel eyes 21A-------05 22 F7 Light on */ char *data; char data_21A_0 [] = { 0x00, 0x20, 0xF7 }; char data_21A_1 [] = { 0x04, 0x22, 0xF7 }; char data_21A_2 [] = { 0x05, 0x22, 0xF7 }; switch (mode) { case 1: data = data_21A_1; break; case 2: data = data_21A_2; break; default: data = data_21A_0; break; } if (can1.write(CANMessage(0x21A, data, 3))) { printf("Light sent \n"); } } //Ignition status /* 0[7]: engine runinng 1[7]: ignition || engine running 2[7]: ignition || engine running 2[654312]: 111111 3: 0x50 4-7: 0xff */ /* // Ignition char data_26E [] = { 0x40, 0x40, 0x4F, 0x50, 0xFF, 0xFF, 0xFF, 0xFF }; if(can1.write(CANMessage(0x26E, data_26E, 8))) { printf("Ignition sent \n"); } */ /* // RPM char data_0A5 [] = { 0xCD, 0xD5, 0xEC, 0xC7, 0x7E, 0x34, 0x0C, 0xF1 }; if(can1.write(CANMessage(0x0A5, data_0A5, 8))) { printf("RPM sent \n"); } */ /* // Speed char data_1A6 [] = { 0x13, 0x4D, 0x46, 0x4D, 0x33, 0x4D, 0xD0, 0xFF }; if(can1.write(CANMessage(0x1A6, data_1A6, 8))) { printf("Speed sent \n"); } */ /* // Door char data_2FC [] = { 0x81, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF }; if(can1.write(CANMessage(0x2FC, data_2FC, 7))) { printf("Door sent \n"); } */ /* // HB char data_34F [] = { 0xFE, 0xFF }; //data_34F[0] = counter; if(can1.write(CANMessage(0x34F, data_34F, 2))) { printf("HB sent \n"); } */ /* //char data_349 [] = { 0x76, 0x0F, 0xBE, 0x1A, 0x00 }; char data_349 [] = { 0x00, 0x00, 0xBE, 0x1A, 0x00 }; //data_349[0] = timer14_v; //data_349[1] = timer14_v; // data_349[0] = counter; if(can1.write(CANMessage(0x349, data_349, 5))) { printf("Fuel sent \n"); } */ //**********The main program********************* int main() { can1.frequency(100000); ticker.attach(&sendT15, 0.1); //Send every 100 msec wait_us(1000); }