Attempts to merge SPI_TFT2 & SPI_TFT_ILI9341

Dependencies:   SPI_TFTx2 TFT_fonts TOUCH_TFTx2 mbed

Fork of CANary by Tick Tock

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers utility.h Source File

utility.h

00001 // utility.h
00002 
00003 #include "CAN.h"
00004 #include "common.h"
00005 #include "TOUCH_TFTx2.h"
00006 #include <cctype>
00007 #include "ff.h"
00008 
00009 extern Timer timer;
00010 extern Ticker msgReq;
00011 extern volatile unsigned short secsNoCarCanMsg;
00012 extern volatile unsigned short secsNoEvCanMsg;
00013 extern volatile unsigned short secsNoTouch;
00014 extern volatile bool carCanIdle;
00015 extern volatile bool evCanIdle;
00016 extern volatile bool userIdle;
00017 extern char displayLog[20][40];
00018 extern unsigned char displayLoc;
00019 extern bool touched;
00020 extern bool logOpen;
00021 extern bool logCP; // Turbo3
00022 extern bool yesBattLog ; // gg - Batt Log
00023 extern bool showCP;
00024 extern char writeBuffer[maxBufLen][13];
00025 extern volatile int writePointer;
00026 extern int readPointer;
00027 extern DigitalOut led1,led2,led3,led4;
00028 extern char indexLastMsg[0x800];
00029 extern unsigned char dMode[2];
00030 extern unsigned char msgChanged[100];
00031 extern unsigned char battData[BatDataBufMax]; // BatDataBufMax
00032 extern CANMessage lastMsg[100];
00033 extern CAN can1,can2;
00034 extern unsigned int fwCount;
00035 extern DigitalOut can1SleepMode,can2SleepMode;
00036 extern bool tick;
00037 extern bool ZeroSecTick;
00038 extern bool headlights;
00039 extern TOUCH_TFTx2 tt;
00040 extern float ledHi;
00041 extern float ledLo;
00042 extern unsigned short pollInt;
00043 extern float scale12V,kWperGid;
00044 extern bool playbackEn;
00045 extern bool playbackOpen;
00046 extern bool step;
00047 extern float playbackInt;
00048 extern signed long mWs_x4;
00049 extern unsigned short numWsamples;
00050 extern signed long motorRPM;
00051 extern unsigned short numSsamples;
00052 extern unsigned char skin;
00053 extern unsigned char dtePeriod;
00054 extern unsigned char reqMsgCnt;
00055 extern float maxTemp;
00056 extern unsigned long Ah_x10000;
00057 extern unsigned long SOC_x10000;
00058 extern unsigned short SOH2_x100;
00059 extern bool metric;
00060 extern unsigned char lastDMode[2];
00061 extern unsigned char whichTouched;
00062 extern float unloadedV_x2,Resr,curRmax,curRmin,redRmax,redRmin,incRmax,incRmin;
00063 extern signed short Imax, Imin;
00064 extern unsigned char tNavRow ; // gg - 4x4
00065 extern char revStr[7]; // gg - version
00066 extern bool debugMode;
00067 extern bool shunt[96];
00068 extern float accV;
00069 extern bool accOn;
00070 extern float accV2;
00071 extern bool showHealth;
00072 extern float kWh_trip[4];
00073 extern float CCkWh_trip[4];
00074 extern float miles_trip[4];
00075 extern PwmOut dled; // for test
00076 extern PwmOut spkr;
00077 extern bool brakeMon, regenMon, heaterMon;
00078 extern Ticker geiger;
00079 extern unsigned short chirpInt;
00080 extern unsigned short uMsgId[8];
00081 extern bool autoSync;
00082 extern unsigned short modelYear;
00083 extern bool enableSound;
00084 extern const unsigned char Arial12x12[];
00085 extern unsigned long tbScalar;
00086 extern unsigned long rbScalar;
00087 extern unsigned long fbScalar;
00088 
00089 extern "C" {
00090     void mbed_reset();
00091     void RTC_IRQHandler();
00092     void RTC_Init (void);    
00093     void printMsg (char *msg);
00094     void touch_ISR();
00095     unsigned short getTimeStamp();
00096     void logCan (char mType, CANMessage canRXmsg);
00097     void logTS ();    
00098     void logEvent (char * errMsg); // gg - messeges   
00099     void sendTempReq();    
00100     void sendReq();    
00101     void autoPollISR();
00102     void playbackISR();
00103     void recieve1();
00104     void recieve2();
00105     void doNothing();
00106     unsigned char buttonX(unsigned short X, unsigned char columns);
00107     unsigned char buttonY(unsigned short Y,unsigned char rows);
00108     void saveConfig();
00109     void readConfig();
00110     void upDate(unsigned char field, bool updownbar);
00111     bool syncDateTime();
00112     void logPackVoltages(); // Turbo3
00113     void tripLog(); // Turbo3
00114     void updateFirmware(); // LM - Update firmware off USB
00115     void updateConfig();
00116     bool detectUSB();
00117     void chirp();
00118     void beep(float freq, float time);
00119     void beep3(float freq1, float time1, float freq2, float time2, float freq3, float time3);
00120 }
00121 
00122 //LEAF OBD
00123 //1:
00124 //2:
00125 //3:    AVCAN-L     White/Blue
00126 //4:    VSS-Shield
00127 //5:    VSS         Brown,White/Brown
00128 //6:    CARCAN-H    Green
00129 //7:
00130 //8:    12V-SW      Orange,White/Orange
00131 //9:
00132 //10:
00133 //11:   AVCAN-H     Blue
00134 //12:   EVCAN-L     White/Grey
00135 //13:   EVCAN-H     Grey
00136 //14:   CARCAN-L    White/Green
00137 //15:
00138 //16:   12V-AON     Red/Blue,Blue/Red
00139 
00140 //VP230
00141 //1:D   
00142 //2:GND 
00143 //3:VCC 
00144 //4:R   
00145 //5:Vref
00146 //6:CANL
00147 //7:CANH
00148 //8:RS
00149 
00150 //LPC1768
00151 //1:    VSS
00152 //2:        NC:VIN  (4.5-9V supply)
00153 //3:        NC:VB
00154 //4:        NC:nR
00155 //5:    SPI:Reset
00156 //6:    SPI:CS0
00157 //7:    SPI:CS1
00158 //8:    CAN1:Sleep -->  8:CAN1:RS
00159 //9:    CAN1:RX    -->  4:CAN1:R
00160 //10:   CAN1:TX    -->  1:CAN1:D
00161 //11:   SPI:MOSI
00162 //12:   SPI:MISO
00163 //13:   SPI:SCLK
00164 //14:       NC:Ain
00165 //15:   MON12V     -->  4K to 12V, 1K to VSS  (To be implemented)
00166 //16:   TOUCH_X+
00167 //17:   TOUCH_X-
00168 //18:       NC:Aout
00169 //19:   TOUCH_Y+
00170 //20:   TOUCH_Y-
00171 //21:   Spkr+
00172 //22:       NC:pwm
00173 //23:       LED
00174 //24:       NC:pwm
00175 //25:       NC:pwm
00176 //26:       NC:pwm
00177 //27:       NC
00178 //28:   CAN2:Sleep -->  8:CAN2:RS
00179 //29:   CAN2:TX    -->  1:CAN2:D
00180 //30:   CAN2:RX    -->  4:CAN2:R
00181 //31:   USB_D+
00182 //32:   USB_D-
00183 //33:       NC:Eth_TD+
00184 //34:       NC:Eth_TD-
00185 //35:       NC:Eth_RD+
00186 //36:       NC:Eth_RD-
00187 //37:       NC:IF+
00188 //38:       NC:IF-
00189 //39:       NC:5Vout (only available when connected as USB device)
00190 //40:   VCC3.3