Just4Trionic - CAN and BDM FLASH programmer for Saab cars

Dependencies:   mbed

Committer:
Just4pLeisure
Date:
Tue Jun 07 12:23:28 2011 +0000
Revision:
3:92dae9083c83
Parent:
2:bf3a2b29259a
Child:
5:1775b4b13232
Basic T7 CAN DUMP and FLASH for P-BUS connection only
Requires MyBooty V2.x for T5 CAN FLASHing at 1 Mbps

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Just4pLeisure 1:d5452e398b76 1 /*******************************************************************************
Just4pLeisure 1:d5452e398b76 2
Just4pLeisure 1:d5452e398b76 3 interfaces.cpp
Just4pLeisure 1:d5452e398b76 4 (c) 2010 by Sophie Dexter
Just4pLeisure 1:d5452e398b76 5
Just4pLeisure 1:d5452e398b76 6 ********************************************************************************
Just4pLeisure 1:d5452e398b76 7
Just4pLeisure 1:d5452e398b76 8 WARNING: Use at your own risk, sadly this software comes with no guarantees.
Just4pLeisure 1:d5452e398b76 9 This software is provided 'free' and in good faith, but the author does not
Just4pLeisure 1:d5452e398b76 10 accept liability for any damage arising from its use.
Just4pLeisure 1:d5452e398b76 11
Just4pLeisure 1:d5452e398b76 12 *******************************************************************************/
Just4pLeisure 1:d5452e398b76 13
Just4pLeisure 1:d5452e398b76 14 #include "interfaces.h"
Just4pLeisure 1:d5452e398b76 15
Just4pLeisure 1:d5452e398b76 16 //Serial pc(USBTX, USBRX); // tx, rx
Just4pLeisure 1:d5452e398b76 17 Serial pc(USBTX, USBRX);
Just4pLeisure 1:d5452e398b76 18
Just4pLeisure 1:d5452e398b76 19 // A timer for timing how long things take to happen
Just4pLeisure 1:d5452e398b76 20 Timer timer;
Just4pLeisure 1:d5452e398b76 21
Just4pLeisure 1:d5452e398b76 22 // We use CAN on mbed pins 29(CAN_TXD) and 30(CAN_RXD).
Just4pLeisure 1:d5452e398b76 23 CAN can(p30, p29);
Just4pLeisure 1:d5452e398b76 24 // CAN_RS pin at Philips PCA82C250 can bus controller.
Just4pLeisure 1:d5452e398b76 25 // activate transceiver by pulling this pin to GND.
Just4pLeisure 1:d5452e398b76 26 // (Rise and fall slope controlled by resistor R_s)
Just4pLeisure 1:d5452e398b76 27 // (+5V result in tranceiver standby mode)
Just4pLeisure 1:d5452e398b76 28 // For further information see datasheet page 4
Just4pLeisure 1:d5452e398b76 29 DigitalOut can_rs_pin(p28);
Just4pLeisure 1:d5452e398b76 30
Just4pLeisure 1:d5452e398b76 31 // Need to create this to be able to read and write files on the mbed 'disk'
Just4pLeisure 1:d5452e398b76 32 LocalFileSystem local("local");
Just4pLeisure 1:d5452e398b76 33
Just4pLeisure 1:d5452e398b76 34
Just4pLeisure 1:d5452e398b76 35 DigitalIn PIN_PWR(p19); // power supply
Just4pLeisure 1:d5452e398b76 36 DigitalIn PIN_NC(p20); // connection signal
Just4pLeisure 1:d5452e398b76 37 DigitalInOut PIN_BERR(p21); // double bus fault input - will be an input when it is working properly
Just4pLeisure 1:d5452e398b76 38 DigitalInOut PIN_BKPT(p22); // breakpoint/serial clock
Just4pLeisure 1:d5452e398b76 39 DigitalInOut PIN_RESET(p23); // reset signal
Just4pLeisure 1:d5452e398b76 40 DigitalInOut PIN_DSI(p24); // data input (to ECU) signal
Just4pLeisure 2:bf3a2b29259a 41 DigitalIn PIN_DSO(p25); // data output (from ECU) signal
Just4pLeisure 1:d5452e398b76 42 DigitalIn PIN_FREEZE(p26); // freeze signal
Just4pLeisure 2:bf3a2b29259a 43 //DigitalIn PIN_DS(p27); // data strobe signal (not used)
Just4pLeisure 1:d5452e398b76 44
Just4pLeisure 1:d5452e398b76 45 //LEDS
Just4pLeisure 1:d5452e398b76 46
Just4pLeisure 1:d5452e398b76 47 // Use the LEDs to if anything is happening
Just4pLeisure 1:d5452e398b76 48
Just4pLeisure 1:d5452e398b76 49 DigitalOut led1(LED1); // LED1 CAN send
Just4pLeisure 1:d5452e398b76 50 DigitalOut led2(LED2); // LED2 CAN receive
Just4pLeisure 1:d5452e398b76 51 DigitalOut led3(LED3); // BDM activity LED
Just4pLeisure 1:d5452e398b76 52 DigitalOut led4(LED4); // Error LED
Just4pLeisure 1:d5452e398b76 53
Just4pLeisure 1:d5452e398b76 54 Ticker ticker;
Just4pLeisure 1:d5452e398b76 55
Just4pLeisure 1:d5452e398b76 56 void leds_off() {
Just4pLeisure 2:bf3a2b29259a 57 CANTXLEDOFF;
Just4pLeisure 2:bf3a2b29259a 58 CANRXLEDOFF;
Just4pLeisure 2:bf3a2b29259a 59 ACTIVITYLEDOFF;
Just4pLeisure 1:d5452e398b76 60 }