7 julaa

Dependencies:   mbed LCD_DISCO_F469NIa SD_DISCO_F469NI BSP_DISCO_F469NIa EEPROM_DISCO_F469NI

Files at this revision

API Documentation at this revision

Comitter:
formulas
Date:
Sun Mar 07 15:44:19 2021 +0000
Parent:
5:4b63e6845a8e
Commit message:
a

Changed in this revision

CAN_library.cpp Show annotated file Show diff for this revision Revisions of this file
draw_print_library.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
main1.cpp Show diff for this revision Revisions of this file
screen_library.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/CAN_library.cpp	Wed Nov 28 12:01:20 2018 +0000
+++ b/CAN_library.cpp	Sun Mar 07 15:44:19 2021 +0000
@@ -10,8 +10,8 @@
 extern uint8_t distance_flag;
 extern uint8_t lvdtref;
 
-extern uint16_t Rpm0, Speed0, Gear0, Water_Temp0, Oil_Temp0, TPS0, Brakes0, MAP0, Air_Temp0, Lambda0, Volts0;
-extern uint16_t Rpm,  Speed,  Gear,  Water_Temp,  Oil_Temp,  TPS,  Brakes,  MAP,  Air_Temp,  Lambda,  Volts;
+extern uint16_t Rpm0, Speed0, Gear0, Water_Temp0, Bat_Temp0, TPS0, Brakes0, MAP0, Air_Temp0, Lambda0, Volts0;
+extern uint16_t Rpm,  Speed,  Gear,  Water_Temp,  Bat_Temp,  TPS,  Brakes,  MAP,  Air_Temp,  Lambda,  Volts;
 extern int FL_LVDT0, FR_LVDT0, RL_LVDT0, RR_LVDT0, FL_LVDT,  FR_LVDT,  RL_LVDT,  RR_LVDT;
 extern int FL_LVDT_Ref,FR_LVDT_Ref,RL_LVDT_Ref,RR_LVDT_Ref;
 int LVDT_Max=1024;
@@ -28,29 +28,29 @@
     if (can.read(tmpMsg)) {                 //Detect message
         //pc.printf("%x\n",tmpMsg.id);       
         switch(tmpMsg.id){                  //Find which DTA message is received 
-            case(0x2000):
+            case(0x0 | 0x2000):
                 rx_flag|=(1<<0);
                 msgDTA1=tmpMsg;
                 //pc.printf("%x\n", tmpMsg.id);
                 break;
-            case(0x2001):
+            case(0x1 | 0x2001):
                 rx_flag|=(1<<1);
                 msgDTA2=tmpMsg;
                 //pc.printf("rx_flag=%x\n",rx_flag);
                 break;
-            case(0x2002):
+            case(0x2 | 0x2002):
                 rx_flag|=(1<<2);
                 msgDTA3=tmpMsg;
                 break;
-            case(0x2003):
+            case(0x3 | 0x2003):
                 rx_flag|=(1<<3);
                 msgDTA4=tmpMsg;
                 break;
-            case(0x2004):
+            case(0x4 | 0x2004):
                 rx_flag|=(1<<4);
                 msgDTA5=tmpMsg;
                 break;
-            case(0x2005):
+            case(0x5 | 0x2005):
                 rx_flag|=(1<<5);
                 msgDTA6=tmpMsg;
                 break;
@@ -199,8 +199,8 @@
 
 void UpdateInfoDTA3(uint16_t newData[4]){                //Update values for DTA3 message
     if (newData[1]>0 && newData[1]<200){
-        Oil_Temp0=Oil_Temp;
-        Oil_Temp=newData[1];
+        Bat_Temp0=Bat_Temp;
+        Bat_Temp=newData[1];
     };
     if (newData[2]>0 && newData[2]<200){
         Volts0=Volts;
--- a/draw_print_library.h	Wed Nov 28 12:01:20 2018 +0000
+++ b/draw_print_library.h	Sun Mar 07 15:44:19 2021 +0000
@@ -24,7 +24,7 @@
 
 //Positions of Informations on screen
 const uint16_t GearXPos=272,GearYPos=95;                                  //Gear in Main
-const uint16_t OilTempXPos=15,OilTempYPos=200;                            //Oil Temperature in Main
+const uint16_t BatTempXPos=15,BatTempYPos=200;                            //Oil Temperature in Main
 const uint16_t LogoSmallXPos=635,LogoSmallYPos=5;                         //Small Logo, all three screens
 const uint16_t WaterTempXPos=15,WaterTempYPos=350;                        //Water Temperature in Main
 const uint16_t TPSXPos=569,TPSYPos=200;                                   //TPS in Main
--- a/main.cpp	Wed Nov 28 12:01:20 2018 +0000
+++ b/main.cpp	Sun Mar 07 15:44:19 2021 +0000
@@ -6,7 +6,7 @@
 LCD_DISCO_F469NI lcd;                       //Initialize LCD Display
 SD_DISCO_F469NI sd;                         //Initialize SD Card
 //EEPROM_DISCO_F469NI eep;                    //Initialize EEPROM Internal memory
-Serial pc(USBTX, USBRX);                    //Initialize Serial. This is used only while debuging code.
+Serial pc(USBTX, USBRX,115200);                    //Initialize Serial. This is used only while debuging code.
 CAN can(PB_5, PB_13,1000000);                       //Initialize CAN.
 I2C i2c(D14, D15);
 DigitalOut reset(D8);
@@ -57,7 +57,7 @@
 }
 
 void showLedRpm(int RPM){
-    pc.printf("%d\n",RPM);
+    //pc.printf("%d\n",RPM);
     if(RPM<1000) {
         cmd[1]=0xFF;
         cmd[2]=0xFF;
@@ -120,18 +120,20 @@
 
 
 int main(){ 
+//pc.printf("proba\n");
     LEDInitialize();   
     can.attach(&CANMsgReceive,CAN::RxIrq);      // Attach interrupt function to CAN RX
     change_screen_input.rise(&ChangeCommand);   //Attach interrupt function to rising edge of DigitalIn for changing screen.
     SetIntro();                                 // Display logo when starting display
     SetMain();                                  // First screen is main by default
     sd.Init();
-    
+    //pc.printf("proba1\n");
     while(1){
         if(change_flag){                        // Check if screen is changed
             ChangeScreen();                         
         };
         UpdateInfo();                           // Update info for DTA values in every iteration
+        //pc.printf("proba2\n");
         switch(screen_flag){                    // Display only changes visible on current screen
             case(1):
                 MainUpdate();
--- a/main1.cpp	Wed Nov 28 12:01:20 2018 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*#include "mbed.h"
-#include "functions.h"
-
-LCD_DISCO_F469NI lcd;
-SD_DISCO_F469NI sd;
-Serial pc(USBTX, USBRX);
-CAN can(PB_5, PB_13);
-DigitalIn changescreen_command(D0);
-
-int can_data;
-int RPM;
-extern GEAR *Gears;
-extern IMAGE LogoBig,LogoSmall,Branko;
-
-void MainScreen();
-void FirstAuxScreen();
-void SecondAuxScreen();
-
-int main(){
-    DrawRGBImage(LogoBig,0,0);
-    wait(0.5);
-    lcd.SetTextColor(LCD_COLOR_WHITE);
-    lcd.FillRect(0,0,800,480);
-    MainScreen();
-};
-    
-    
-void MainScreen(){
-    lcd.SetTextColor(LCD_COLOR_BLACK);
-    DrawSpeedMeter();
-    DrawRGBImage(LogoSmall,LogoSmallXPos,LogoSmallYPos);
-    lcd.SetFont(&Font24);
-    lcd.DisplayStringAt(30,170,(uint8_t*)"Oil Temp",LEFT_MODE);
-    lcd.DisplayStringAt(30,320,(uint8_t*)"Water Temp",LEFT_MODE);
-    lcd.DisplayStringAt(584,170,(uint8_t*)"TPS",LEFT_MODE);
-    lcd.SetTextColor(LCD_COLOR_DARKRED);
-    lcd.FillRect(560,340,230,68);
-    lcd.SetBackColor(LCD_COLOR_DARKRED);
-    PrintString("BRAKE",50,575,350,LCD_COLOR_BLACK);
-    lcd.SetBackColor(LCD_COLOR_WHITE);
-
-    int Vin,V0=0,OilTemp,OilTemp0=0,WaterTemp,WaterTemp0=0,TPS,TPS0=0,Brake,Brake0=0,Gear,Gear0;
-    
-    CANMessage msg;
-    
-    //inicijalne vrednosti prikazane na ekranu
-    PrintChar(Gears[0],GearXPos,GearYPos,LCD_COLOR_BLACK);
-    ChangeNumber(0,111,100,OilTempXPos,OilTempYPos);
-    ChangeNumber(0,111,100,WaterTempXPos,WaterTempYPos);
-    ChangeNumber(0,111,100,TPSXPos,TPSYPos);
-    BrakeSignal(0,1);
-    wait(1);
-    while(changescreen_command.read()==0){
-        if(can.read(msg)){
-            can_data=msg.data[0];
-            lcd.SetTextColor(LCD_COLOR_BLACK);
-            if (msg.id==SPEED_ID){
-                Vin=(int)can_data;
-                UpdateSpeedMeter(V0,Vin-V0);
-                V0=Vin;
-            }else if (msg.id==GEAR_ID){
-                Gear=can_data;
-                if(Gear!=Gear0){
-                    Gear=can_data;
-                    printf("%d\n",Gear);
-                    PrintChar(Gears[Gear],GearXPos,GearYPos,LCD_COLOR_BLACK);
-                    Gear0=Gear;
-                };                    
-            }else if (msg.id==OIL_TEMP_ID){
-                OilTemp=can_data;
-                ChangeNumber(OilTemp,OilTemp0,100,OilTempXPos,OilTempYPos);
-                OilTemp0=OilTemp;
-            }else if (msg.id==WATER_TEMP_ID){
-                WaterTemp=can_data;
-                ChangeNumber(WaterTemp,WaterTemp0,100,WaterTempXPos,WaterTempYPos);
-                WaterTemp0=WaterTemp;
-            }else if (msg.id==TPS_ID){
-                TPS=can_data;
-                ChangeNumber(TPS,TPS0,100,TPSXPos,TPSYPos);
-                TPS0=TPS;
-            }else if (msg.id==BRAKE_ID){
-                Brake=can_data;
-                BrakeSignal(Brake,Brake0);
-                Brake0=Brake;
-            };
-        };
-    };
-    lcd.SetTextColor(LCD_COLOR_WHITE);
-    lcd.FillRect(0,0,800,480);
-    FirstAuxScreen();
-    lcd.SetTextColor(LCD_COLOR_BLACK);
-};
-
-void FirstAuxScreen(){
-    PrintString("Oil P",50,20,25,LCD_COLOR_BLACK);
-    PrintString("MAP",50,20,100,LCD_COLOR_BLACK);
-    PrintString("Air Temp",50,20,175,LCD_COLOR_BLACK);
-    PrintString("Lambda",50,20,250,LCD_COLOR_BLACK);
-    PrintString("Volts",50,20,325,LCD_COLOR_BLACK);
-    PrintString("Crank",50,20,400,LCD_COLOR_BLACK);
-    PrintString("kPa",50,470,25,LCD_COLOR_BLACK);
-    PrintString("kPa",50,470,100,LCD_COLOR_BLACK);
-    PrintString("C",50,470,175,LCD_COLOR_BLACK);
-    PrintString("Ratio",50,470,250,LCD_COLOR_BLACK);
-    PrintString("V",50,470,325,LCD_COLOR_BLACK);
-    DrawRGBImage(LogoSmall,LogoSmallXPos,LogoSmallYPos);
-    
-    uint8_t OilP,OilP0=0,MAP,MAP0=0,AirTemp,AirTemp0=0,Lambda,Lambda0=0,Volts,Volts0=0,Crank,Crank0=1;
-    
-    CANMessage msg;
-    
-    ChangeNumber(0,111,50,OilPXPos,OilPYPos);
-    ChangeNumber(0,111,50,MAPXPos,MAPYPos);
-    ChangeNumber(0,111,50,AirTempXPos,AirTempYPos);
-    ChangeNumber(0,111,50,LambdaXPos,LambdaYPos);
-    ChangeNumber(0,111,50,VoltsXPos,VoltsYPos);
-        
-    while(changescreen_command.read()==0){
-        if(can.read(msg)){
-            can_data=msg.data[0];
-            lcd.SetTextColor(LCD_COLOR_BLACK);
-            if (msg.id==OIL_P_ID){
-                OilP=can_data;
-                ChangeNumber(OilP,OilP0,100,OilPXPos,OilPYPos);
-                OilP0=OilP;
-            }else if (msg.id==MAP_ID){
-                MAP=can_data;
-                ChangeNumber(MAP,MAP0,100,MAPXPos,MAPYPos);
-                MAP0=MAP;
-            }else if (msg.id==AIR_TEMP_ID){
-                AirTemp=can_data;
-                ChangeNumber(AirTemp,AirTemp0,100,AirTempXPos,AirTempYPos);
-                AirTemp0=AirTemp;
-            }else if (msg.id==LAMBDA_ID){
-                Lambda=can_data;
-                ChangeNumber(Lambda,Lambda0,100,LambdaXPos,LambdaYPos);
-                Lambda0=Lambda;
-            }else if (msg.id==VOLTS_ID){
-                Volts=can_data;
-                ChangeNumber(Volts,Volts0,100,VoltsXPos,VoltsYPos);
-                Volts0=Volts;
-            }else if (msg.id==CRANK_ID){
-                Crank=can_data;
-                if(Crank!=Crank0){
-                    if(Crank==1){
-                        PrintString("ERROR",50,CrankXPos,CrankYPos,LCD_COLOR_RED);
-                    }else if(Crank==0){
-                        PrintString("OK",50,CrankXPos,CrankYPos,LCD_COLOR_RED); 
-                    };
-                };   
-                Crank0=Crank;
-            };
-        };
-    };
-    lcd.SetTextColor(LCD_COLOR_WHITE);
-    lcd.FillRect(0,0,800,480);
-    SecondAuxScreen();
-
-};
-
-void SecondAuxScreen(){
-    PrintString("LVDT Sensors",50,200,20,LCD_COLOR_BLACK);
-    DrawRGBImage(LogoSmall,LogoSmallXPos,LogoSmallYPos);
-    lcd.SetTextColor(LCD_COLOR_BLACK);
-    lcd.SetFont(&Font24);
-    lcd.DisplayStringAt(FLLVDTBarXPos+25,FLLVDTBarYPos,(uint8_t*)"FL",LEFT_MODE);
-    lcd.DisplayStringAt(FRLVDTBarXPos+25,FRLVDTBarYPos,(uint8_t*)"FR",LEFT_MODE);
-    lcd.DisplayStringAt(BLLVDTBarXPos+25,BLLVDTBarYPos,(uint8_t*)"BL",LEFT_MODE);
-    lcd.DisplayStringAt(BRLVDTBarXPos+25,BRLVDTBarYPos,(uint8_t*)"BR",LEFT_MODE);
-    
-    uint8_t FLLVDT,FLLVDT0=0,FRLVDT,FRLVDT0=0,BLLVDT,BLLVDT0=0,BRLVDT,BRLVDT0=0;    
-    
-    CANMessage msg;
-    
-    ChangeNumber(0,111,100,FLLVDTXPos,FLLVDTYPos);
-    ChangeNumber(0,111,100,FRLVDTXPos,FRLVDTYPos);
-    ChangeNumber(0,111,100,BLLVDTXPos,BLLVDTYPos);
-    ChangeNumber(0,111,100,BRLVDTXPos,BRLVDTYPos);
-    
-    while(changescreen_command.read()==0){
-        if(can.read(msg)){
-            can_data=msg.data[0];
-            if(msg.id==FL_LVDT_ID){
-                FLLVDT=can_data;
-                ChangeNumber(FLLVDT,FLLVDT0,100,FLLVDTXPos,FLLVDTYPos);
-                UpdateLVDTScale(FLLVDT,FLLVDT0,FLLVDTBarXPos,FLLVDTBarYPos);
-                FLLVDT0=FLLVDT;
-            }else if(msg.id==FR_LVDT_ID){
-                FRLVDT=can_data;
-                ChangeNumber(FRLVDT,FRLVDT0,100,FRLVDTXPos,FRLVDTYPos);
-                UpdateLVDTScale(FRLVDT,FRLVDT0,FRLVDTBarXPos,FRLVDTBarYPos);
-                FRLVDT0=FRLVDT;
-            }else if(msg.id==BL_LVDT_ID){
-                BLLVDT=can_data;
-                ChangeNumber(BLLVDT,BLLVDT0,100,BLLVDTXPos,BLLVDTYPos);
-                UpdateLVDTScale(BLLVDT,BLLVDT0,BLLVDTBarXPos,BLLVDTBarYPos);
-                BLLVDT0=BLLVDT;
-            }else if(msg.id==BR_LVDT_ID){
-                BRLVDT=can_data;
-                ChangeNumber(BRLVDT,BRLVDT0,100,BRLVDTXPos,BRLVDTYPos);
-                UpdateLVDTScale(BRLVDT,BRLVDT0,BRLVDTBarXPos,BRLVDTBarYPos);
-                BRLVDT0=BRLVDT;
-            };
-        };
-    };
-    lcd.SetTextColor(LCD_COLOR_WHITE);
-    lcd.FillRect(0,0,800,480);
-    lcd.SetTextColor(LCD_COLOR_BLACK);
-    MainScreen();
-};*/
\ No newline at end of file
--- a/screen_library.cpp	Wed Nov 28 12:01:20 2018 +0000
+++ b/screen_library.cpp	Sun Mar 07 15:44:19 2021 +0000
@@ -8,8 +8,8 @@
 extern GEAR *Gears;
 extern IMAGE LogoBig,LogoSmall,Branko,NewYearCongat;
 
-extern uint16_t Rpm0, Speed0, Gear0, Water_Temp0, Oil_Temp0, TPS0, Brakes0, MAP0, Air_Temp0, Lambda0, Volts0, Crank0;
-extern uint16_t Rpm,  Speed,  Gear,  Water_Temp,  Oil_Temp,  TPS,  Brakes,  MAP,  Air_Temp,  Lambda,  Volts,  Crank;
+extern uint16_t Rpm0, Speed0, Gear0, Water_Temp0, Bat_Temp0, TPS0, Brakes0, MAP0, Air_Temp0, Lambda0, Volts0, Crank0;
+extern uint16_t Rpm,  Speed,  Gear,  Water_Temp,  Bat_Temp,  TPS,  Brakes,  MAP,  Air_Temp,  Lambda,  Volts,  Crank;
 extern int FL_LVDT0, FR_LVDT0, RL_LVDT0, RR_LVDT0, FL_LVDT,  FR_LVDT,  RL_LVDT,  RR_LVDT;
 extern int FL_LVDT_Ref,FR_LVDT_Ref,RL_LVDT_Ref,RR_LVDT_Ref;
 extern int LVDT_Max;
@@ -54,7 +54,7 @@
     DrawSpeedMeter();
     DrawRGBImage(LogoSmall,LogoSmallXPos,LogoSmallYPos);
     lcd.SetFont(&Font24);
-    lcd.DisplayStringAt(30,170,(uint8_t*)"Oil Temp",LEFT_MODE);
+    lcd.DisplayStringAt(30,170,(uint8_t*)"Battery Temp",LEFT_MODE);
     lcd.DisplayStringAt(30,320,(uint8_t*)"Water Temp",LEFT_MODE);
     lcd.DisplayStringAt(584,170,(uint8_t*)"TPS",LEFT_MODE);
     lcd.SetTextColor(LCD_COLOR_DARKRED);
@@ -65,7 +65,7 @@
     
     //Display initial values
     PrintChar(Gears[Gear],GearXPos,GearYPos,LCD_COLOR_BLACK);
-    SetNumber(Oil_Temp,100,OilTempXPos,OilTempYPos,3,0,0);
+    SetNumber(Bat_Temp,100,BatTempXPos,BatTempYPos,3,0,0);
     SetNumber(Water_Temp,100,WaterTempXPos,WaterTempYPos,3,0,0);
     SetNumber(TPS,100,TPSXPos,TPSYPos,3,0,0);
     BrakeSignal(Brakes);
@@ -143,8 +143,8 @@
     if(Gear!=Gear0){
         PrintChar(Gears[Gear],GearXPos,GearYPos,LCD_COLOR_BLACK);
     };
-    if(Oil_Temp!=Oil_Temp0){
-        ChangeNumber(Oil_Temp,Oil_Temp0,100,OilTempXPos,OilTempYPos,3,0,0);
+    if(Bat_Temp!=Bat_Temp0){
+        ChangeNumber(Bat_Temp,Bat_Temp0,100,BatTempXPos,BatTempYPos,3,0,0);
     };
     if(Water_Temp!=Water_Temp0){
        ChangeNumber(Water_Temp,Water_Temp0,100,WaterTempXPos,WaterTempYPos,3,0,0);