REVO_1_SteeringDisplay
Dependencies: Digital_InOut KS0108 mbed
SteeringTemp.h
- Committer:
- kiran_mbed
- Date:
- 2014-09-27
- Revision:
- 0:313541d8f8be
File content as of revision 0:313541d8f8be:
#include "Steering.h" void HomeScreen() { CANMessage Rxmsg; ftc rcv,send; send.FLOAT=45.4444; Rxmsg.id=BATTERY_VOLTAGE_ID; for(int i=0; i<4; i++) Rxmsg.data[i]=send.C_FLOAT[i]; display.ClearScreen(); display.SelectFont(Arial12,BLACK,ReadData); if(CAN_Steering.read(Rxmsg)) { for(int i=0; i<4; i++) rcv.C_FLOAT[i]=Rxmsg.data[i]; if(Rxmsg.id == BATTERY_VOLTAGE_ID) { display.GotoXY(0,0); display.PrintString(" PV: "); display.PrintNumber(rcv.FLOAT); display.PrintString("V"); } if(Rxmsg.id == BATTERY_POWER_ID) { display.GotoXY(0,16); display.PrintString(" PP: "); display.PrintNumber(rcv.FLOAT); display.PrintString("KW"); } if(Rxmsg.id == BATTERY_STATE_ID) { display.GotoXY(0,32); display.PrintString(" STATE: "); display.PrintString(rcv.C_FLOAT); } } wait(2); return; } /* void ShutdwnScreen() { screen=1; CANMessage Rxmsg; uint16_t recv=0, temp=0, i=0; //Test //uint16_t Rxpoll=15; //char Result[4]={0}; //Result[0]=(char)(Rxpoll&0x00ff); //Result[1]=(char)((Rxpoll&0xff00)>>8); //CANMessage Rxmsg(410,Result,sizeof(Result)); display.ClearScreen(); display.GotoXY(0,0); display.SelectFont(Arial12,BLACK,ReadData); display.PrintString("SHTDWN SWTCH OPEN"); if(CAN_Steering.read(Rxmsg)) { if(Rxmsg.id == SWITCH_ID) { recv=(((uint16_t)Rxmsg.data[1]<<8) | (0x00ff&(uint16_t)Rxmsg.data[0])); display.GotoXY(0,16); while(i < 12) { temp=recv; if(((temp & (1 << i))>>i) == 1) { display.GotoXY(SwitchPosition[i][0],SwitchPosition[i][1]); display.PrintString(SwitchName[i]); } } } } return; } void AMS1Screen() { screen=2; CANMessage Rxmsg; ftc rcv; rcv.FLOAT=0.0; display.ClearScreen(); display.SelectFont(Arial12,BLACK,ReadData); if(CAN_Steering.read(Rxmsg)) { for(int i=0; i<4; i++) rcv.C_FLOAT[i]=Rxmsg.data[i]; if(Rxmsg.id == BATTERY_VOLTAGE_ID) { display.GotoXY(0,0); display.PrintString(" PV: "); display.PrintNumber(rcv.FLOAT); display.PrintString("V"); } if(Rxmsg.id == BATTERY_POWER_ID) { display.GotoXY(0,16); display.PrintString(" PV: "); display.PrintNumber(rcv.FLOAT); display.PrintString("KW"); } if(Rxmsg.id == BATTERY_CURRENT_ID) { display.GotoXY(0,32); display.PrintString(" PC: "); display.PrintNumber(rcv.FLOAT); display.PrintString("KW"); } } } void AMS2Screen() { screen=3; CANMessage Rxmsg; ftc rcv; rcv.FLOAT=0.0; display.ClearScreen(); display.SelectFont(Arial12,BLACK,ReadData); if(CAN_Steering.read(Rxmsg)) { for(int i=0; i<4; i++) rcv.C_FLOAT[i]=Rxmsg.data[i]; if(Rxmsg.id == BATTERY_MIN_CELLVOLTAGE_ID) { display.GotoXY(0,0); display.PrintString(" Min Cell V:"); display.PrintNumber(rcv.FLOAT); display.PrintString("V"); } if(Rxmsg.id == BATTERY_MAX_CELLVOLTAGE_ID) { display.GotoXY(0,16); display.PrintString(" Max Cell V:"); display.PrintNumber(rcv.FLOAT); display.PrintString("V"); } if(Rxmsg.id == BATTERY_AVG_CELLVOLTAGE_ID) { display.GotoXY(0,32); display.PrintString(" Max Cell V:"); display.PrintNumber(rcv.FLOAT); display.PrintString("V"); } } } void AMS3Screen() { screen=4; CANMessage Rxmsg; ftc rcv; rcv.FLOAT=0.0; display.ClearScreen(); display.SelectFont(Arial12,BLACK,ReadData); if(CAN_Steering.read(Rxmsg)) { for(int i=0; i<4; i++) rcv.C_FLOAT[i]=Rxmsg.data[i]; if(Rxmsg.id == BATTERY_MIN_CELLTEMPERATURE_ID) { display.GotoXY(0,0); display.PrintString(" Min Cell T:"); display.PrintNumber(rcv.FLOAT); display.PrintString("deg"); } if(Rxmsg.id == BATTERY_MAX_CELLTEMPERATURE_ID) { display.GotoXY(0,16); display.PrintString(" Max Cell T:"); display.PrintNumber(rcv.FLOAT); display.PrintString("deg"); } if(Rxmsg.id == BATTERY_AVG_CELLTEMPERATURE_ID) { display.GotoXY(0,32); display.PrintString(" Avg Cell T:"); display.PrintNumber(rcv.FLOAT); display.PrintString("deg"); } } } void AMS4Screen() { screen =5; CANMessage Rxmsg; ftc rcv; display.ClearScreen(); display.SelectFont(Arial12,BLACK,ReadData); if(CAN_Steering.read(Rxmsg)) { for(int i=0; i<4; i++) rcv.C_FLOAT[i]=Rxmsg.data[i]; if(Rxmsg.id == AMS_AIRS_ID) { display.GotoXY(0,0); display.PrintString(" AIRS: "); display.PrintString(rcv.C_FLOAT); } if(Rxmsg.id == AMS_PRECHARGING_ID) { display.GotoXY(0,16); display.PrintString(" Precharging: "); display.PrintString(rcv.C_FLOAT); } } } */ void ON() { char OnData[4]="ON"; CANMessage Txmsg(101,OnData,sizeof(OnData)); wait(0.1); display.ClearScreen(); display.SelectFont(Arial12,BLACK,ReadData); display.GotoXY(16,16); display.PrintString(" ON INITIATED"); //screen=0; return; } void ResetCommand() { char ResetData[4]="RES"; CANMessage Txmsg(102,ResetData,sizeof(ResetData)); wait(0.1); display.ClearScreen(); display.SelectFont(Arial12,BLACK,ReadData); display.GotoXY(16,16); display.PrintString(" RESET INITIATED"); //screen=0; return; } void Init() { pc.baud(230400); CAN_Steering.frequency(500000); } int main() { Init(); //int flag=1; wait(0.1); display.GotoXY(10,16); display.SelectFont(Arial_14,BLACK,ReadData); display.PrintString("Penn Electric Racing"); display.GotoXY(20,32); display.PrintString("Live The Dream"); screen=0; wait(2); while(1) { if(biSWBL.read()) HomeScreen(); if(biSWTR.read()) ON(); if(biSWTL.read()) ResetCommand(); printf("SCreen:%d\n\r",screen); wait(0.1); } } /* else if(screen == 1) ShutdwnScreen(); else if(screen == 2) AMS1Screen(); else if(screen == 3) AMS2Screen(); else if(screen == 4) AMS3Screen(); else if(screen == 5) AMS4Screen(); */ /* if(biSWBR.read()) { if(screen == maxScreen) screen=0; else ++screen; wait(1); } */