test fork

Dependencies:   SPI_TFTx2 SPI_TFTx2_ILI9341 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary_9341 by Tick Tock

Committer:
leafman
Date:
Mon Jun 10 12:00:48 2013 +0000
Branch:
Metric
Revision:
98:9f8bab96edff
Parent:
95:248b3c25a7df
Child:
100:63a7456fc972
Metric Initial Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TickTock 13:62e0f7f39ff5 1 // utility.h
TickTock 13:62e0f7f39ff5 2
TickTock 12:8e42d7ba8468 3 #include "CAN.h"
TickTock 13:62e0f7f39ff5 4 #include "common.h"
TickTock 23:cd03f9c3395e 5 #include "TOUCH_TFTx2.h"
TickTock 76:fb6779d0963e 6 #include "beep.h"
leafman 98:9f8bab96edff 7 #include <cctype>
TickTock 13:62e0f7f39ff5 8 extern Timer timer;
TickTock 83:52b1f330a62d 9 extern Ticker msgReq;
TickTock 75:77bd26829dca 10 extern volatile unsigned short secsNoMsg;
TickTock 75:77bd26829dca 11 extern volatile unsigned short secsNoTouch;
TickTock 13:62e0f7f39ff5 12 extern volatile bool canIdle;
TickTock 13:62e0f7f39ff5 13 extern volatile bool userIdle;
TickTock 13:62e0f7f39ff5 14 extern char displayLog[20][40];
TickTock 13:62e0f7f39ff5 15 extern unsigned char displayLoc;
TickTock 13:62e0f7f39ff5 16 extern bool touched;
TickTock 13:62e0f7f39ff5 17 extern bool logOpen;
TickTock 39:eef8beac7411 18 extern bool logCP; // Turbo3
TickTock 48:d1ce92104a1f 19 extern bool yesBattLog ; // gg - Batt Log
TickTock 40:0e6e71a7323f 20 extern bool showCP;
TickTock 13:62e0f7f39ff5 21 extern char writeBuffer[maxBufLen][13];
TickTock 13:62e0f7f39ff5 22 extern volatile int writePointer;
TickTock 76:fb6779d0963e 23 extern int readPointer;
TickTock 13:62e0f7f39ff5 24 extern DigitalOut led1,led2,led3,led4;
TickTock 13:62e0f7f39ff5 25 extern char indexLastMsg[0x800];
TickTock 13:62e0f7f39ff5 26 extern unsigned char dMode[2];
TickTock 13:62e0f7f39ff5 27 extern unsigned char msgChanged[100];
garygid 87:46ac3f2519d6 28
garygid 87:46ac3f2519d6 29 //extern unsigned char battData[256]; //
garygid 87:46ac3f2519d6 30 extern unsigned char battData[BatDataBufMax]; // BatDataBufMax
garygid 87:46ac3f2519d6 31
TickTock 13:62e0f7f39ff5 32 extern CANMessage lastMsg[100];
TickTock 13:62e0f7f39ff5 33 extern CAN can1,can2;
leafman 98:9f8bab96edff 34 extern unsigned int fwCount;
TickTock 13:62e0f7f39ff5 35 extern DigitalOut can1SleepMode,can2SleepMode;
TickTock 78:a383971fe02f 36 //extern bool pollCP;
TickTock 34:4751a8259b18 37 extern bool tick;
garygid 69:6bfdfc002036 38 extern bool ZeroSecTick;
TickTock 34:4751a8259b18 39 extern bool headlights;
TickTock 23:cd03f9c3395e 40 extern TOUCH_TFTx2 tt;
TickTock 35:5acbd8a64a89 41 extern float ledHi;
TickTock 35:5acbd8a64a89 42 extern float ledLo;
TickTock 35:5acbd8a64a89 43 extern unsigned short pollInt;
TickTock 35:5acbd8a64a89 44 extern float scale12V;
TickTock 36:dbd39c315258 45 extern bool playbackEn;
TickTock 36:dbd39c315258 46 extern bool playbackOpen;
TickTock 36:dbd39c315258 47 extern bool step;
TickTock 36:dbd39c315258 48 extern float playbackInt;
TickTock 40:0e6e71a7323f 49 extern signed long mWs_x4;
TickTock 40:0e6e71a7323f 50 extern unsigned short numWsamples;
TickTock 41:8d4609ea7259 51 extern signed long motorRPM;
TickTock 41:8d4609ea7259 52 extern unsigned short numSsamples;
TickTock 48:d1ce92104a1f 53 extern unsigned char skin;
TickTock 50:83d5864c64a0 54 extern unsigned char dtePeriod;
TickTock 76:fb6779d0963e 55 extern Beep spkr;
TickTock 78:a383971fe02f 56 extern unsigned char reqMsgCnt;
TickTock 95:248b3c25a7df 57 extern unsigned char battTemp_x4;
leafman 98:9f8bab96edff 58 extern bool metric;
TickTock 12:8e42d7ba8468 59
TickTock 12:8e42d7ba8468 60 extern "C" {
TickTock 12:8e42d7ba8468 61 void mbed_reset();
TickTock 13:62e0f7f39ff5 62 void RTC_IRQHandler();
TickTock 13:62e0f7f39ff5 63 void RTC_Init (void);
TickTock 93:c2402e8cd0e2 64 void printMsg (char *msg);
TickTock 13:62e0f7f39ff5 65 void touch_ISR();
TickTock 13:62e0f7f39ff5 66 unsigned short getTimeStamp();
TickTock 13:62e0f7f39ff5 67 void logCan (char mType, CANMessage canRXmsg);
TickTock 13:62e0f7f39ff5 68 void logTS ();
TickTock 93:c2402e8cd0e2 69 void logEvent (char * errMsg); // gg - messeges
TickTock 92:935adef49ea4 70 //void sendCPreq();
TickTock 92:935adef49ea4 71 //void sendTreq();
TickTock 78:a383971fe02f 72 void sendReq();
TickTock 36:dbd39c315258 73 void autoPollISR();
TickTock 36:dbd39c315258 74 void playbackISR();
TickTock 13:62e0f7f39ff5 75 void recieve1();
TickTock 13:62e0f7f39ff5 76 void recieve2();
TickTock 36:dbd39c315258 77 void doNothing();
TickTock 22:a43df3905863 78 unsigned char buttonX(unsigned short X, unsigned char columns);
TickTock 22:a43df3905863 79 unsigned char buttonY(unsigned short Y,unsigned char rows);
TickTock 23:cd03f9c3395e 80 void saveConfig();
TickTock 25:ddf0ec209f03 81 void readConfig();
TickTock 25:ddf0ec209f03 82 void upDate(unsigned char field, bool updownbar);
TickTock 39:eef8beac7411 83 void logPackVoltages(); // Turbo3
leafman 98:9f8bab96edff 84 void updateFirmware(); // LM - Update firmware off USB
TickTock 25:ddf0ec209f03 85 }
TickTock 12:8e42d7ba8468 86
TickTock 12:8e42d7ba8468 87 //LEAF OBD
TickTock 12:8e42d7ba8468 88 //1:
TickTock 12:8e42d7ba8468 89 //2:
TickTock 12:8e42d7ba8468 90 //3: AVCAN-L White/Blue
TickTock 12:8e42d7ba8468 91 //4: VSS-Shield
TickTock 12:8e42d7ba8468 92 //5: VSS Brown,White/Brown
TickTock 12:8e42d7ba8468 93 //6: CARCAN-H Green
TickTock 12:8e42d7ba8468 94 //7:
TickTock 12:8e42d7ba8468 95 //8: 12V-SW Orange,White/Orange
TickTock 12:8e42d7ba8468 96 //9:
TickTock 12:8e42d7ba8468 97 //10:
TickTock 12:8e42d7ba8468 98 //11: AVCAN-H Blue
TickTock 12:8e42d7ba8468 99 //12: EVCAN-L White/Grey
TickTock 12:8e42d7ba8468 100 //13: EVCAN-H Grey
TickTock 12:8e42d7ba8468 101 //14: CARCAN-L White/Green
TickTock 12:8e42d7ba8468 102 //15:
TickTock 12:8e42d7ba8468 103 //16: 12V-AON Red/Blue,Blue/Red
TickTock 12:8e42d7ba8468 104
TickTock 12:8e42d7ba8468 105 //VP230
TickTock 12:8e42d7ba8468 106 //1:D
TickTock 12:8e42d7ba8468 107 //2:GND
TickTock 12:8e42d7ba8468 108 //3:VCC
TickTock 12:8e42d7ba8468 109 //4:R
TickTock 12:8e42d7ba8468 110 //5:Vref
TickTock 12:8e42d7ba8468 111 //6:CANL
TickTock 12:8e42d7ba8468 112 //7:CANH
TickTock 12:8e42d7ba8468 113 //8:RS
TickTock 12:8e42d7ba8468 114
TickTock 12:8e42d7ba8468 115 //LPC1768
TickTock 12:8e42d7ba8468 116 //1: VSS
TickTock 12:8e42d7ba8468 117 //2: NC:VIN (4.5-9V supply)
TickTock 12:8e42d7ba8468 118 //3: NC:VB
TickTock 12:8e42d7ba8468 119 //4: NC:nR
TickTock 22:a43df3905863 120 //5: SPI:Reset
TickTock 22:a43df3905863 121 //6: SPI:CS0
TickTock 22:a43df3905863 122 //7: SPI:CS1
TickTock 12:8e42d7ba8468 123 //8: CAN1:Sleep --> 8:CAN1:RS
TickTock 12:8e42d7ba8468 124 //9: CAN1:RX --> 4:CAN1:R
TickTock 12:8e42d7ba8468 125 //10: CAN1:TX --> 1:CAN1:D
TickTock 12:8e42d7ba8468 126 //11: SPI:MOSI
TickTock 12:8e42d7ba8468 127 //12: SPI:MISO
TickTock 12:8e42d7ba8468 128 //13: SPI:SCLK
TickTock 12:8e42d7ba8468 129 //14: NC:Ain
TickTock 12:8e42d7ba8468 130 //15: MON12V --> 4K to 12V, 1K to VSS (To be implemented)
TickTock 12:8e42d7ba8468 131 //16: TOUCH_X+
TickTock 12:8e42d7ba8468 132 //17: TOUCH_X-
TickTock 12:8e42d7ba8468 133 //18: NC:Aout
TickTock 12:8e42d7ba8468 134 //19: TOUCH_Y+
TickTock 12:8e42d7ba8468 135 //20: TOUCH_Y-
TickTock 12:8e42d7ba8468 136 //21: Spkr+
TickTock 22:a43df3905863 137 //22: NC:pwm
TickTock 22:a43df3905863 138 //23: LED
TickTock 22:a43df3905863 139 //24: NC:pwm
TickTock 12:8e42d7ba8468 140 //25: NC:pwm
TickTock 12:8e42d7ba8468 141 //26: NC:pwm
TickTock 12:8e42d7ba8468 142 //27: NC
TickTock 12:8e42d7ba8468 143 //28: CAN2:Sleep --> 8:CAN2:RS
TickTock 12:8e42d7ba8468 144 //29: CAN2:TX --> 1:CAN2:D
TickTock 12:8e42d7ba8468 145 //30: CAN2:RX --> 4:CAN2:R
TickTock 12:8e42d7ba8468 146 //31: USB_D+
TickTock 12:8e42d7ba8468 147 //32: USB_D-
TickTock 12:8e42d7ba8468 148 //33: NC:Eth_TD+
TickTock 12:8e42d7ba8468 149 //34: NC:Eth_TD-
TickTock 12:8e42d7ba8468 150 //35: NC:Eth_RD+
TickTock 12:8e42d7ba8468 151 //36: NC:Eth_RD-
TickTock 12:8e42d7ba8468 152 //37: NC:IF+
TickTock 12:8e42d7ba8468 153 //38: NC:IF-
TickTock 12:8e42d7ba8468 154 //39: NC:5Vout (only available when connected as USB device)
TickTock 12:8e42d7ba8468 155 //40: VCC3.3