Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SPI_TFTx2_ILI9341 TFT_fonts TOUCH_TFTx2_ILI9341 mbed
Fork of CANary_corrupt by
utility.h@122:138a40892a4c, 2013-07-17 (annotated)
- Committer:
- TickTock
- Date:
- Wed Jul 17 13:48:51 2013 +0000
- Branch:
- Metric
- Revision:
- 122:138a40892a4c
- Parent:
- 121:553faf139a20
- Child:
- 123:a8c0042df617
Updated display formatting. Temporarily dumping all 7bb messages to ascii log for exploration.
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 | 110:ffddff3ad2f2 | 9 | |
| TickTock | 13:62e0f7f39ff5 | 10 | extern Timer timer; | 
| TickTock | 83:52b1f330a62d | 11 | extern Ticker msgReq; | 
| TickTock | 75:77bd26829dca | 12 | extern volatile unsigned short secsNoMsg; | 
| TickTock | 75:77bd26829dca | 13 | extern volatile unsigned short secsNoTouch; | 
| TickTock | 13:62e0f7f39ff5 | 14 | extern volatile bool canIdle; | 
| TickTock | 13:62e0f7f39ff5 | 15 | extern volatile bool userIdle; | 
| TickTock | 13:62e0f7f39ff5 | 16 | extern char displayLog[20][40]; | 
| TickTock | 13:62e0f7f39ff5 | 17 | extern unsigned char displayLoc; | 
| TickTock | 13:62e0f7f39ff5 | 18 | extern bool touched; | 
| TickTock | 13:62e0f7f39ff5 | 19 | extern bool logOpen; | 
| TickTock | 39:eef8beac7411 | 20 | extern bool logCP; // Turbo3 | 
| TickTock | 48:d1ce92104a1f | 21 | extern bool yesBattLog ; // gg - Batt Log | 
| TickTock | 40:0e6e71a7323f | 22 | extern bool showCP; | 
| TickTock | 13:62e0f7f39ff5 | 23 | extern char writeBuffer[maxBufLen][13]; | 
| TickTock | 13:62e0f7f39ff5 | 24 | extern volatile int writePointer; | 
| TickTock | 76:fb6779d0963e | 25 | extern int readPointer; | 
| TickTock | 13:62e0f7f39ff5 | 26 | extern DigitalOut led1,led2,led3,led4; | 
| TickTock | 13:62e0f7f39ff5 | 27 | extern char indexLastMsg[0x800]; | 
| TickTock | 13:62e0f7f39ff5 | 28 | extern unsigned char dMode[2]; | 
| TickTock | 13:62e0f7f39ff5 | 29 | extern unsigned char msgChanged[100]; | 
| garygid | 87:46ac3f2519d6 | 30 | extern unsigned char battData[BatDataBufMax]; // BatDataBufMax | 
| TickTock | 13:62e0f7f39ff5 | 31 | extern CANMessage lastMsg[100]; | 
| TickTock | 13:62e0f7f39ff5 | 32 | extern CAN can1,can2; | 
| leafman | 98:9f8bab96edff | 33 | extern unsigned int fwCount; | 
| TickTock | 117:49883c779a74 | 34 | extern DigitalOut can1SleepMode,can2SleepMode; | 
| TickTock | 34:4751a8259b18 | 35 | extern bool tick; | 
| garygid | 69:6bfdfc002036 | 36 | extern bool ZeroSecTick; | 
| TickTock | 34:4751a8259b18 | 37 | extern bool headlights; | 
| TickTock | 23:cd03f9c3395e | 38 | extern TOUCH_TFTx2 tt; | 
| TickTock | 35:5acbd8a64a89 | 39 | extern float ledHi; | 
| TickTock | 35:5acbd8a64a89 | 40 | extern float ledLo; | 
| TickTock | 35:5acbd8a64a89 | 41 | extern unsigned short pollInt; | 
| TickTock | 35:5acbd8a64a89 | 42 | extern float scale12V; | 
| TickTock | 36:dbd39c315258 | 43 | extern bool playbackEn; | 
| TickTock | 36:dbd39c315258 | 44 | extern bool playbackOpen; | 
| TickTock | 36:dbd39c315258 | 45 | extern bool step; | 
| TickTock | 36:dbd39c315258 | 46 | extern float playbackInt; | 
| TickTock | 40:0e6e71a7323f | 47 | extern signed long mWs_x4; | 
| TickTock | 40:0e6e71a7323f | 48 | extern unsigned short numWsamples; | 
| TickTock | 41:8d4609ea7259 | 49 | extern signed long motorRPM; | 
| TickTock | 41:8d4609ea7259 | 50 | extern unsigned short numSsamples; | 
| TickTock | 48:d1ce92104a1f | 51 | extern unsigned char skin; | 
| TickTock | 50:83d5864c64a0 | 52 | extern unsigned char dtePeriod; | 
| TickTock | 76:fb6779d0963e | 53 | extern Beep spkr; | 
| TickTock | 78:a383971fe02f | 54 | extern unsigned char reqMsgCnt; | 
| TickTock | 108:29b5a760adc2 | 55 | extern float maxTemp; | 
| TickTock | 102:fd19f777a0b4 | 56 | extern unsigned long Ah_x10000; | 
| TickTock | 102:fd19f777a0b4 | 57 | extern unsigned long SOC_x10000; | 
| TickTock | 102:fd19f777a0b4 | 58 | extern unsigned short SOH_x100; | 
| leafman | 98:9f8bab96edff | 59 | extern bool metric; | 
| TickTock | 100:63a7456fc972 | 60 | extern unsigned char lastDMode[2]; | 
| TickTock | 100:63a7456fc972 | 61 | extern unsigned char whichTouched; | 
| TickTock | 120:041edeec08f5 | 62 | extern float unloadedV_x2,Resr,curRmax,curRmin,redRmax,redRmin,incRmax,incRmin; | 
| TickTock | 121:553faf139a20 | 63 | extern signed short Imax, Imin; | 
| TickTock | 118:02010b18efdc | 64 | extern unsigned char tNavRow ; // gg - 4x4 | 
| TickTock | 118:02010b18efdc | 65 | extern char revStr[7]; // gg - version | 
| TickTock | 118:02010b18efdc | 66 | extern bool debugMode; | 
| TickTock | 121:553faf139a20 | 67 | extern bool shunt[96]; | 
| TickTock | 122:138a40892a4c | 68 | extern float accV; | 
| TickTock | 12:8e42d7ba8468 | 69 | |
| TickTock | 12:8e42d7ba8468 | 70 | extern "C" { | 
| TickTock | 12:8e42d7ba8468 | 71 | void mbed_reset(); | 
| TickTock | 13:62e0f7f39ff5 | 72 | void RTC_IRQHandler(); | 
| TickTock | 13:62e0f7f39ff5 | 73 | void RTC_Init (void); | 
| TickTock | 93:c2402e8cd0e2 | 74 | void printMsg (char *msg); | 
| TickTock | 13:62e0f7f39ff5 | 75 | void touch_ISR(); | 
| TickTock | 13:62e0f7f39ff5 | 76 | unsigned short getTimeStamp(); | 
| TickTock | 13:62e0f7f39ff5 | 77 | void logCan (char mType, CANMessage canRXmsg); | 
| TickTock | 13:62e0f7f39ff5 | 78 | void logTS (); | 
| TickTock | 93:c2402e8cd0e2 | 79 | void logEvent (char * errMsg); // gg - messeges | 
| TickTock | 92:935adef49ea4 | 80 | //void sendCPreq(); | 
| TickTock | 92:935adef49ea4 | 81 | //void sendTreq(); | 
| TickTock | 78:a383971fe02f | 82 | void sendReq(); | 
| TickTock | 36:dbd39c315258 | 83 | void autoPollISR(); | 
| TickTock | 36:dbd39c315258 | 84 | void playbackISR(); | 
| TickTock | 13:62e0f7f39ff5 | 85 | void recieve1(); | 
| TickTock | 13:62e0f7f39ff5 | 86 | void recieve2(); | 
| TickTock | 36:dbd39c315258 | 87 | void doNothing(); | 
| TickTock | 22:a43df3905863 | 88 | unsigned char buttonX(unsigned short X, unsigned char columns); | 
| TickTock | 22:a43df3905863 | 89 | unsigned char buttonY(unsigned short Y,unsigned char rows); | 
| TickTock | 23:cd03f9c3395e | 90 | void saveConfig(); | 
| TickTock | 25:ddf0ec209f03 | 91 | void readConfig(); | 
| TickTock | 25:ddf0ec209f03 | 92 | void upDate(unsigned char field, bool updownbar); | 
| TickTock | 39:eef8beac7411 | 93 | void logPackVoltages(); // Turbo3 | 
| TickTock | 108:29b5a760adc2 | 94 | void tripLog(); // Turbo3 | 
| leafman | 98:9f8bab96edff | 95 | void updateFirmware(); // LM - Update firmware off USB | 
| TickTock | 108:29b5a760adc2 | 96 | bool detectUSB(); | 
| TickTock | 25:ddf0ec209f03 | 97 | } | 
| TickTock | 12:8e42d7ba8468 | 98 | |
| TickTock | 12:8e42d7ba8468 | 99 | //LEAF OBD | 
| TickTock | 12:8e42d7ba8468 | 100 | //1: | 
| TickTock | 12:8e42d7ba8468 | 101 | //2: | 
| TickTock | 12:8e42d7ba8468 | 102 | //3: AVCAN-L White/Blue | 
| TickTock | 12:8e42d7ba8468 | 103 | //4: VSS-Shield | 
| TickTock | 12:8e42d7ba8468 | 104 | //5: VSS Brown,White/Brown | 
| TickTock | 12:8e42d7ba8468 | 105 | //6: CARCAN-H Green | 
| TickTock | 12:8e42d7ba8468 | 106 | //7: | 
| TickTock | 12:8e42d7ba8468 | 107 | //8: 12V-SW Orange,White/Orange | 
| TickTock | 12:8e42d7ba8468 | 108 | //9: | 
| TickTock | 12:8e42d7ba8468 | 109 | //10: | 
| TickTock | 12:8e42d7ba8468 | 110 | //11: AVCAN-H Blue | 
| TickTock | 12:8e42d7ba8468 | 111 | //12: EVCAN-L White/Grey | 
| TickTock | 12:8e42d7ba8468 | 112 | //13: EVCAN-H Grey | 
| TickTock | 12:8e42d7ba8468 | 113 | //14: CARCAN-L White/Green | 
| TickTock | 12:8e42d7ba8468 | 114 | //15: | 
| TickTock | 12:8e42d7ba8468 | 115 | //16: 12V-AON Red/Blue,Blue/Red | 
| TickTock | 12:8e42d7ba8468 | 116 | |
| TickTock | 12:8e42d7ba8468 | 117 | //VP230 | 
| TickTock | 12:8e42d7ba8468 | 118 | //1:D | 
| TickTock | 12:8e42d7ba8468 | 119 | //2:GND | 
| TickTock | 12:8e42d7ba8468 | 120 | //3:VCC | 
| TickTock | 12:8e42d7ba8468 | 121 | //4:R | 
| TickTock | 12:8e42d7ba8468 | 122 | //5:Vref | 
| TickTock | 12:8e42d7ba8468 | 123 | //6:CANL | 
| TickTock | 12:8e42d7ba8468 | 124 | //7:CANH | 
| TickTock | 12:8e42d7ba8468 | 125 | //8:RS | 
| TickTock | 12:8e42d7ba8468 | 126 | |
| TickTock | 12:8e42d7ba8468 | 127 | //LPC1768 | 
| TickTock | 12:8e42d7ba8468 | 128 | //1: VSS | 
| TickTock | 12:8e42d7ba8468 | 129 | //2: NC:VIN (4.5-9V supply) | 
| TickTock | 12:8e42d7ba8468 | 130 | //3: NC:VB | 
| TickTock | 12:8e42d7ba8468 | 131 | //4: NC:nR | 
| TickTock | 22:a43df3905863 | 132 | //5: SPI:Reset | 
| TickTock | 22:a43df3905863 | 133 | //6: SPI:CS0 | 
| TickTock | 22:a43df3905863 | 134 | //7: SPI:CS1 | 
| TickTock | 12:8e42d7ba8468 | 135 | //8: CAN1:Sleep --> 8:CAN1:RS | 
| TickTock | 12:8e42d7ba8468 | 136 | //9: CAN1:RX --> 4:CAN1:R | 
| TickTock | 12:8e42d7ba8468 | 137 | //10: CAN1:TX --> 1:CAN1:D | 
| TickTock | 12:8e42d7ba8468 | 138 | //11: SPI:MOSI | 
| TickTock | 12:8e42d7ba8468 | 139 | //12: SPI:MISO | 
| TickTock | 12:8e42d7ba8468 | 140 | //13: SPI:SCLK | 
| TickTock | 12:8e42d7ba8468 | 141 | //14: NC:Ain | 
| TickTock | 12:8e42d7ba8468 | 142 | //15: MON12V --> 4K to 12V, 1K to VSS (To be implemented) | 
| TickTock | 12:8e42d7ba8468 | 143 | //16: TOUCH_X+ | 
| TickTock | 12:8e42d7ba8468 | 144 | //17: TOUCH_X- | 
| TickTock | 12:8e42d7ba8468 | 145 | //18: NC:Aout | 
| TickTock | 12:8e42d7ba8468 | 146 | //19: TOUCH_Y+ | 
| TickTock | 12:8e42d7ba8468 | 147 | //20: TOUCH_Y- | 
| TickTock | 12:8e42d7ba8468 | 148 | //21: Spkr+ | 
| TickTock | 22:a43df3905863 | 149 | //22: NC:pwm | 
| TickTock | 22:a43df3905863 | 150 | //23: LED | 
| TickTock | 22:a43df3905863 | 151 | //24: NC:pwm | 
| TickTock | 12:8e42d7ba8468 | 152 | //25: NC:pwm | 
| TickTock | 12:8e42d7ba8468 | 153 | //26: NC:pwm | 
| TickTock | 12:8e42d7ba8468 | 154 | //27: NC | 
| TickTock | 12:8e42d7ba8468 | 155 | //28: CAN2:Sleep --> 8:CAN2:RS | 
| TickTock | 12:8e42d7ba8468 | 156 | //29: CAN2:TX --> 1:CAN2:D | 
| TickTock | 12:8e42d7ba8468 | 157 | //30: CAN2:RX --> 4:CAN2:R | 
| TickTock | 12:8e42d7ba8468 | 158 | //31: USB_D+ | 
| TickTock | 12:8e42d7ba8468 | 159 | //32: USB_D- | 
| TickTock | 12:8e42d7ba8468 | 160 | //33: NC:Eth_TD+ | 
| TickTock | 12:8e42d7ba8468 | 161 | //34: NC:Eth_TD- | 
| TickTock | 12:8e42d7ba8468 | 162 | //35: NC:Eth_RD+ | 
| TickTock | 12:8e42d7ba8468 | 163 | //36: NC:Eth_RD- | 
| TickTock | 12:8e42d7ba8468 | 164 | //37: NC:IF+ | 
| TickTock | 12:8e42d7ba8468 | 165 | //38: NC:IF- | 
| TickTock | 12:8e42d7ba8468 | 166 | //39: NC:5Vout (only available when connected as USB device) | 
| TickTock | 12:8e42d7ba8468 | 167 | //40: VCC3.3 | 
