test fork
Dependencies: SPI_TFTx2 SPI_TFTx2_ILI9341 TFT_fonts TOUCH_TFTx2 mbed
Fork of CANary_9341 by
utility.h@132:08748a67280a, 2013-07-24 (annotated)
- Committer:
- TickTock
- Date:
- Wed Jul 24 12:29:22 2013 +0000
- Revision:
- 132:08748a67280a
- Parent:
- 131:0d926c080a65
- Child:
- 134:ad243e4f1a17
Added max and min DTE to main display. Put mbed to sleep during charging if not logging.
Who changed what in which revision?
User | Revision | Line number | New 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 | 110:ffddff3ad2f2 | 8 | #include "ff.h" |
TickTock | 12:8e42d7ba8468 | 9 | |
TickTock | 13:62e0f7f39ff5 | 10 | extern Timer timer; |
TickTock | 79:68f0dd8d1f19 | 11 | extern Ticker msgReq; |
TickTock | 131:0d926c080a65 | 12 | extern volatile unsigned short secsNoCarCanMsg; |
TickTock | 132:08748a67280a | 13 | extern volatile unsigned short secsNoEvCanMsg; |
TickTock | 75:77bd26829dca | 14 | extern volatile unsigned short secsNoTouch; |
TickTock | 131:0d926c080a65 | 15 | extern volatile bool carCanIdle; |
TickTock | 132:08748a67280a | 16 | extern volatile bool evCanIdle; |
TickTock | 13:62e0f7f39ff5 | 17 | extern volatile bool userIdle; |
TickTock | 13:62e0f7f39ff5 | 18 | extern char displayLog[20][40]; |
TickTock | 13:62e0f7f39ff5 | 19 | extern unsigned char displayLoc; |
TickTock | 13:62e0f7f39ff5 | 20 | extern bool touched; |
TickTock | 13:62e0f7f39ff5 | 21 | extern bool logOpen; |
TickTock | 39:eef8beac7411 | 22 | extern bool logCP; // Turbo3 |
TickTock | 48:d1ce92104a1f | 23 | extern bool yesBattLog ; // gg - Batt Log |
TickTock | 40:0e6e71a7323f | 24 | extern bool showCP; |
TickTock | 13:62e0f7f39ff5 | 25 | extern char writeBuffer[maxBufLen][13]; |
TickTock | 13:62e0f7f39ff5 | 26 | extern volatile int writePointer; |
TickTock | 76:fb6779d0963e | 27 | extern int readPointer; |
TickTock | 13:62e0f7f39ff5 | 28 | extern DigitalOut led1,led2,led3,led4; |
TickTock | 13:62e0f7f39ff5 | 29 | extern char indexLastMsg[0x800]; |
TickTock | 13:62e0f7f39ff5 | 30 | extern unsigned char dMode[2]; |
TickTock | 13:62e0f7f39ff5 | 31 | extern unsigned char msgChanged[100]; |
TickTock | 124:0d622967b764 | 32 | extern unsigned char battData[BatDataBufMax]; // BatDataBufMax |
TickTock | 13:62e0f7f39ff5 | 33 | extern CANMessage lastMsg[100]; |
TickTock | 13:62e0f7f39ff5 | 34 | extern CAN can1,can2; |
leafman | 98:9f8bab96edff | 35 | extern unsigned int fwCount; |
TickTock | 13:62e0f7f39ff5 | 36 | extern DigitalOut can1SleepMode,can2SleepMode; |
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 | 108:29b5a760adc2 | 57 | extern float maxTemp; |
TickTock | 102:fd19f777a0b4 | 58 | extern unsigned long Ah_x10000; |
TickTock | 102:fd19f777a0b4 | 59 | extern unsigned long SOC_x10000; |
TickTock | 102:fd19f777a0b4 | 60 | extern unsigned short SOH_x100; |
leafman | 98:9f8bab96edff | 61 | extern bool metric; |
TickTock | 100:63a7456fc972 | 62 | extern unsigned char lastDMode[2]; |
TickTock | 100:63a7456fc972 | 63 | extern unsigned char whichTouched; |
TickTock | 120:041edeec08f5 | 64 | extern float unloadedV_x2,Resr,curRmax,curRmin,redRmax,redRmin,incRmax,incRmin; |
TickTock | 121:553faf139a20 | 65 | extern signed short Imax, Imin; |
TickTock | 118:02010b18efdc | 66 | extern unsigned char tNavRow ; // gg - 4x4 |
TickTock | 118:02010b18efdc | 67 | extern char revStr[7]; // gg - version |
TickTock | 118:02010b18efdc | 68 | extern bool debugMode; |
TickTock | 121:553faf139a20 | 69 | extern bool shunt[96]; |
TickTock | 122:138a40892a4c | 70 | extern float accV; |
TickTock | 131:0d926c080a65 | 71 | extern bool showHealth; |
TickTock | 12:8e42d7ba8468 | 72 | |
TickTock | 12:8e42d7ba8468 | 73 | extern "C" { |
TickTock | 12:8e42d7ba8468 | 74 | void mbed_reset(); |
TickTock | 13:62e0f7f39ff5 | 75 | void RTC_IRQHandler(); |
TickTock | 13:62e0f7f39ff5 | 76 | void RTC_Init (void); |
TickTock | 93:c2402e8cd0e2 | 77 | void printMsg (char *msg); |
TickTock | 13:62e0f7f39ff5 | 78 | void touch_ISR(); |
TickTock | 13:62e0f7f39ff5 | 79 | unsigned short getTimeStamp(); |
TickTock | 13:62e0f7f39ff5 | 80 | void logCan (char mType, CANMessage canRXmsg); |
TickTock | 13:62e0f7f39ff5 | 81 | void logTS (); |
TickTock | 93:c2402e8cd0e2 | 82 | void logEvent (char * errMsg); // gg - messeges |
TickTock | 78:a383971fe02f | 83 | //void sendCPreq(); |
TickTock | 78:a383971fe02f | 84 | //void sendTreq(); |
TickTock | 78:a383971fe02f | 85 | void sendReq(); |
TickTock | 36:dbd39c315258 | 86 | void autoPollISR(); |
TickTock | 36:dbd39c315258 | 87 | void playbackISR(); |
TickTock | 13:62e0f7f39ff5 | 88 | void recieve1(); |
TickTock | 13:62e0f7f39ff5 | 89 | void recieve2(); |
TickTock | 36:dbd39c315258 | 90 | void doNothing(); |
TickTock | 22:a43df3905863 | 91 | unsigned char buttonX(unsigned short X, unsigned char columns); |
TickTock | 22:a43df3905863 | 92 | unsigned char buttonY(unsigned short Y,unsigned char rows); |
TickTock | 23:cd03f9c3395e | 93 | void saveConfig(); |
TickTock | 25:ddf0ec209f03 | 94 | void readConfig(); |
TickTock | 25:ddf0ec209f03 | 95 | void upDate(unsigned char field, bool updownbar); |
TickTock | 39:eef8beac7411 | 96 | void logPackVoltages(); // Turbo3 |
TickTock | 108:29b5a760adc2 | 97 | void tripLog(); // Turbo3 |
leafman | 98:9f8bab96edff | 98 | void updateFirmware(); // LM - Update firmware off USB |
TickTock | 108:29b5a760adc2 | 99 | bool detectUSB(); |
TickTock | 25:ddf0ec209f03 | 100 | } |
TickTock | 12:8e42d7ba8468 | 101 | |
TickTock | 12:8e42d7ba8468 | 102 | //LEAF OBD |
TickTock | 12:8e42d7ba8468 | 103 | //1: |
TickTock | 12:8e42d7ba8468 | 104 | //2: |
TickTock | 12:8e42d7ba8468 | 105 | //3: AVCAN-L White/Blue |
TickTock | 12:8e42d7ba8468 | 106 | //4: VSS-Shield |
TickTock | 12:8e42d7ba8468 | 107 | //5: VSS Brown,White/Brown |
TickTock | 12:8e42d7ba8468 | 108 | //6: CARCAN-H Green |
TickTock | 12:8e42d7ba8468 | 109 | //7: |
TickTock | 12:8e42d7ba8468 | 110 | //8: 12V-SW Orange,White/Orange |
TickTock | 12:8e42d7ba8468 | 111 | //9: |
TickTock | 12:8e42d7ba8468 | 112 | //10: |
TickTock | 12:8e42d7ba8468 | 113 | //11: AVCAN-H Blue |
TickTock | 12:8e42d7ba8468 | 114 | //12: EVCAN-L White/Grey |
TickTock | 12:8e42d7ba8468 | 115 | //13: EVCAN-H Grey |
TickTock | 12:8e42d7ba8468 | 116 | //14: CARCAN-L White/Green |
TickTock | 12:8e42d7ba8468 | 117 | //15: |
TickTock | 12:8e42d7ba8468 | 118 | //16: 12V-AON Red/Blue,Blue/Red |
TickTock | 12:8e42d7ba8468 | 119 | |
TickTock | 12:8e42d7ba8468 | 120 | //VP230 |
TickTock | 12:8e42d7ba8468 | 121 | //1:D |
TickTock | 12:8e42d7ba8468 | 122 | //2:GND |
TickTock | 12:8e42d7ba8468 | 123 | //3:VCC |
TickTock | 12:8e42d7ba8468 | 124 | //4:R |
TickTock | 12:8e42d7ba8468 | 125 | //5:Vref |
TickTock | 12:8e42d7ba8468 | 126 | //6:CANL |
TickTock | 12:8e42d7ba8468 | 127 | //7:CANH |
TickTock | 12:8e42d7ba8468 | 128 | //8:RS |
TickTock | 12:8e42d7ba8468 | 129 | |
TickTock | 12:8e42d7ba8468 | 130 | //LPC1768 |
TickTock | 12:8e42d7ba8468 | 131 | //1: VSS |
TickTock | 12:8e42d7ba8468 | 132 | //2: NC:VIN (4.5-9V supply) |
TickTock | 12:8e42d7ba8468 | 133 | //3: NC:VB |
TickTock | 12:8e42d7ba8468 | 134 | //4: NC:nR |
TickTock | 22:a43df3905863 | 135 | //5: SPI:Reset |
TickTock | 22:a43df3905863 | 136 | //6: SPI:CS0 |
TickTock | 22:a43df3905863 | 137 | //7: SPI:CS1 |
TickTock | 12:8e42d7ba8468 | 138 | //8: CAN1:Sleep --> 8:CAN1:RS |
TickTock | 12:8e42d7ba8468 | 139 | //9: CAN1:RX --> 4:CAN1:R |
TickTock | 12:8e42d7ba8468 | 140 | //10: CAN1:TX --> 1:CAN1:D |
TickTock | 12:8e42d7ba8468 | 141 | //11: SPI:MOSI |
TickTock | 12:8e42d7ba8468 | 142 | //12: SPI:MISO |
TickTock | 12:8e42d7ba8468 | 143 | //13: SPI:SCLK |
TickTock | 12:8e42d7ba8468 | 144 | //14: NC:Ain |
TickTock | 12:8e42d7ba8468 | 145 | //15: MON12V --> 4K to 12V, 1K to VSS (To be implemented) |
TickTock | 12:8e42d7ba8468 | 146 | //16: TOUCH_X+ |
TickTock | 12:8e42d7ba8468 | 147 | //17: TOUCH_X- |
TickTock | 12:8e42d7ba8468 | 148 | //18: NC:Aout |
TickTock | 12:8e42d7ba8468 | 149 | //19: TOUCH_Y+ |
TickTock | 12:8e42d7ba8468 | 150 | //20: TOUCH_Y- |
TickTock | 12:8e42d7ba8468 | 151 | //21: Spkr+ |
TickTock | 22:a43df3905863 | 152 | //22: NC:pwm |
TickTock | 22:a43df3905863 | 153 | //23: LED |
TickTock | 22:a43df3905863 | 154 | //24: NC:pwm |
TickTock | 12:8e42d7ba8468 | 155 | //25: NC:pwm |
TickTock | 12:8e42d7ba8468 | 156 | //26: NC:pwm |
TickTock | 12:8e42d7ba8468 | 157 | //27: NC |
TickTock | 12:8e42d7ba8468 | 158 | //28: CAN2:Sleep --> 8:CAN2:RS |
TickTock | 12:8e42d7ba8468 | 159 | //29: CAN2:TX --> 1:CAN2:D |
TickTock | 12:8e42d7ba8468 | 160 | //30: CAN2:RX --> 4:CAN2:R |
TickTock | 12:8e42d7ba8468 | 161 | //31: USB_D+ |
TickTock | 12:8e42d7ba8468 | 162 | //32: USB_D- |
TickTock | 12:8e42d7ba8468 | 163 | //33: NC:Eth_TD+ |
TickTock | 12:8e42d7ba8468 | 164 | //34: NC:Eth_TD- |
TickTock | 12:8e42d7ba8468 | 165 | //35: NC:Eth_RD+ |
TickTock | 12:8e42d7ba8468 | 166 | //36: NC:Eth_RD- |
TickTock | 12:8e42d7ba8468 | 167 | //37: NC:IF+ |
TickTock | 12:8e42d7ba8468 | 168 | //38: NC:IF- |
TickTock | 12:8e42d7ba8468 | 169 | //39: NC:5Vout (only available when connected as USB device) |
TickTock | 12:8e42d7ba8468 | 170 | //40: VCC3.3 |