Just4Trionic - CAN and BDM FLASH programmer for Saab cars

Dependencies:   mbed

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?

UserRevisionLine numberNew 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