Sophie Dexter
/
Just4Trionic
Just4Trionic - CAN and BDM FLASH programmer for Saab cars
t8utils.h@5:1775b4b13232, 2015-04-25 (annotated)
- Committer:
- Just4pLeisure
- Date:
- Sat Apr 25 17:07:08 2015 +0000
- Revision:
- 5:1775b4b13232
- Parent:
- 4:682d96ff6d79
Version 1.5 Is a significant milestone.; ; Supports BDM and CAN read and write of T5.x, T7 and T8 ECU's plus T8 recovery.; A Target Resident Driver for BDM gives a big speed boost.; Supports many alternative replacement FLASH chips for T5.x ECU's;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Just4pLeisure | 4:682d96ff6d79 | 1 | |
Just4pLeisure | 4:682d96ff6d79 | 2 | // t8utils.h - information and definitions needed for communicating with the T7 ECU |
Just4pLeisure | 4:682d96ff6d79 | 3 | |
Just4pLeisure | 4:682d96ff6d79 | 4 | // (C) 2011, 2012 Sophie Dexter |
Just4pLeisure | 4:682d96ff6d79 | 5 | |
Just4pLeisure | 4:682d96ff6d79 | 6 | #ifndef __T8UTILS_H__ |
Just4pLeisure | 4:682d96ff6d79 | 7 | #define __T8UTILS_H__ |
Just4pLeisure | 4:682d96ff6d79 | 8 | |
Just4pLeisure | 4:682d96ff6d79 | 9 | #include "mbed.h" |
Just4pLeisure | 4:682d96ff6d79 | 10 | |
Just4pLeisure | 4:682d96ff6d79 | 11 | #include "common.h" |
Just4pLeisure | 4:682d96ff6d79 | 12 | #include "canutils.h" |
Just4pLeisure | 4:682d96ff6d79 | 13 | |
Just4pLeisure | 5:1775b4b13232 | 14 | //#include "t8bootloaders.h" |
Just4pLeisure | 4:682d96ff6d79 | 15 | #include "gmlan.h" |
Just4pLeisure | 4:682d96ff6d79 | 16 | |
Just4pLeisure | 4:682d96ff6d79 | 17 | |
Just4pLeisure | 4:682d96ff6d79 | 18 | #define T8TSTRID 0x7E0 |
Just4pLeisure | 4:682d96ff6d79 | 19 | #define T8ECU_ID 0x7E8 |
Just4pLeisure | 4:682d96ff6d79 | 20 | #define T8ANYMSG 0x0 |
Just4pLeisure | 4:682d96ff6d79 | 21 | |
Just4pLeisure | 4:682d96ff6d79 | 22 | // initialise T8 |
Just4pLeisure | 4:682d96ff6d79 | 23 | |
Just4pLeisure | 4:682d96ff6d79 | 24 | //#define T8REQVIN {0x02,0x09,0x02,0x00,0x00,0x00,0x00,0x00} |
Just4pLeisure | 4:682d96ff6d79 | 25 | // Request VIN using ReadDataByIdentifier method using DID |
Just4pLeisure | 4:682d96ff6d79 | 26 | #define T8REQVIN {0x02,0x1A,0x90,0x00,0x00,0x00,0x00,0x00} |
Just4pLeisure | 4:682d96ff6d79 | 27 | |
Just4pLeisure | 4:682d96ff6d79 | 28 | |
Just4pLeisure | 4:682d96ff6d79 | 29 | // A "Flow Control" message. Send to let T8 it is OK to send the rest of the messages it has |
Just4pLeisure | 4:682d96ff6d79 | 30 | #define T8FLOCTL {0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00} |
Just4pLeisure | 4:682d96ff6d79 | 31 | |
Just4pLeisure | 4:682d96ff6d79 | 32 | |
Just4pLeisure | 4:682d96ff6d79 | 33 | // read_trionic8 |
Just4pLeisure | 4:682d96ff6d79 | 34 | |
Just4pLeisure | 4:682d96ff6d79 | 35 | |
Just4pLeisure | 4:682d96ff6d79 | 36 | // flash_trionic8 |
Just4pLeisure | 4:682d96ff6d79 | 37 | |
Just4pLeisure | 4:682d96ff6d79 | 38 | |
Just4pLeisure | 4:682d96ff6d79 | 39 | #define T8MESSAGETIMEOUT 50 // 50 milliseconds (0.05 of a second) - Seems to be plenty of time to wait for messages on the CAN bus |
Just4pLeisure | 4:682d96ff6d79 | 40 | #define T8LONGERTIMEOUT 500 // 500 milliseconds (0.5 of a second) - Some messages seem to need longer |
Just4pLeisure | 4:682d96ff6d79 | 41 | #define T8CHECKSUMTIMEOUT 2000 // 2 seconds (2,000 milliseconds) - Usually takes less than a second so allowing 2 is plenty |
Just4pLeisure | 4:682d96ff6d79 | 42 | #define T8CONNECTTIMEOUT 5000 // 5 seconds (5,000 milliseconds) - Usually takes 3 seconds so allowing 5 is plenty |
Just4pLeisure | 4:682d96ff6d79 | 43 | #define T8ERASETIMEOUT 120000 // 120 seconds (120,000 milliseconds) - Usually takes less than 90 seconds so allowing 120 is plenty |
Just4pLeisure | 4:682d96ff6d79 | 44 | |
Just4pLeisure | 4:682d96ff6d79 | 45 | extern bool t8_initialise(); |
Just4pLeisure | 4:682d96ff6d79 | 46 | extern bool t8_show_VIN(); |
Just4pLeisure | 4:682d96ff6d79 | 47 | extern bool t8_write_VIN(); |
Just4pLeisure | 5:1775b4b13232 | 48 | extern bool t8_authenticate(uint32_t ReqID, uint32_t RespID, char level); |
Just4pLeisure | 4:682d96ff6d79 | 49 | extern bool t8_dump(); |
Just4pLeisure | 4:682d96ff6d79 | 50 | extern bool t8_flash(); |
Just4pLeisure | 5:1775b4b13232 | 51 | extern bool t8_recover(); |
Just4pLeisure | 4:682d96ff6d79 | 52 | |
Just4pLeisure | 4:682d96ff6d79 | 53 | |
Just4pLeisure | 4:682d96ff6d79 | 54 | #endif |