Engenharia Mobilis / Mbed 2 deprecated SATC_Painel_de_Controle

Dependencies:   MFRC522 mbed-STM32F103C8T6 mbed

Fork of C_005_EA_Painel_sem_bms by Engenharia Mobilis

Files at this revision

API Documentation at this revision

Comitter:
MobilisEletrica
Date:
Mon Sep 24 18:30:52 2018 +0000
Parent:
1:25c826c035bd
Commit message:
[SATC] C?digo do painel de controle

Changed in this revision

helpers.cpp Show annotated file Show diff for this revision Revisions of this file
helpers.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
--- a/helpers.cpp	Wed Aug 22 18:03:37 2018 +0000
+++ b/helpers.cpp	Mon Sep 24 18:30:52 2018 +0000
@@ -21,22 +21,28 @@
 uint16_t converteDTCBms(unsigned char flags){
     uint16_t dtc_mobilis = 0x00;
     if(flags & 1){
-        dtc_mobilis = 0xF30;
+        dtc_mobilis = 0xF29;
     }
     if(flags & (1 << 1)){
+        dtc_mobilis = 0xF30;
+    }
+    if(flags & (1 << 4)){
         dtc_mobilis = 0xF31;
     }
-    if(flags & (1 << 4)){
+    if(flags & (1 << 5)){
         dtc_mobilis = 0xF32;
     }
-    if(flags & (1 << 5)){
+    if(flags & (1 << 6)){
         dtc_mobilis = 0xF33;
-    }
-    if(flags & (1 << 6)){
-        dtc_mobilis = 0xF34;
     }    
     if(flags & (1 << 7)){
-        dtc_mobilis = 0xF35;
+        dtc_mobilis = 0xF34;
+    }
+    if(flags & (1 << 8)){
+        dtc_mobilis = 0xF41;
+    }
+    if(flags & (1 << 9)){
+        dtc_mobilis = 0xF42;
     }
     return dtc_mobilis;
 }
--- a/helpers.h	Wed Aug 22 18:03:37 2018 +0000
+++ b/helpers.h	Mon Sep 24 18:30:52 2018 +0000
@@ -30,10 +30,10 @@
 };
 
 const uint16_t tabela_dtc_weg[] = {
-    0xA046, 0xA047, 0xA098, 0xA128, 0xA152, 0xA702, 0xA704, 0xA706,
-    0xA133, 0xA134, 0xA135, 0xA136, 0xA110, 0xF021, 0xF022, 0xF030,
-    0xF034, 0xF038, 0xF048, 0xF067, 0xF071, 0xF072, 0xF078, 0xF079,
-    0xF080, 0xF084, 0xF091, 0xF099, 0xF150, 0xF153, 0xF156, 0xF157,
-    0xF158, 0xF182, 0xF183, 0xF185, 0xF236, 0xF711, 0xF051, 0xF228,
-    0xF234, 0xF235, 0x00
+    0x02E, 0x02F, 0x062, 0x080, 0x098, 0x2BE, 0x2C0, 0x2C2,
+    0x085, 0x086, 0x087, 0x088, 0x06E, 0x015, 0x016, 0x01E,
+    0x022, 0x026, 0x030, 0x043, 0x047, 0x048, 0x04E, 0x04F,
+    0x050, 0x054, 0x05B, 0x063, 0x096, 0x099, 0x09C, 0x09D,
+    0x09E, 0x0B6, 0x0B7, 0x0B9, 0x0EC, 0x2C7, 0x033, 0x0E4,
+    0x0EA, 0x0EB, 0x000
 };
--- a/main.cpp	Wed Aug 22 18:03:37 2018 +0000
+++ b/main.cpp	Mon Sep 24 18:30:52 2018 +0000
@@ -212,7 +212,7 @@
     car_is_on = true;     
     // copia o cartao lido para array 'arr_id_usuario', que sera enviado pelo barramento CAN
     std::copy(rf_chip.last_valid_card, rf_chip.last_valid_card+ID_SIZE, arr_id_usuario);
-    //sendCanMsg(CAN_ID_id_usuario,arr_id_usuario,4);
+    sendCanMsg(CAN_ID_id_usuario,arr_id_usuario,4);
     painel.pressed_button=BUTTON_none; 
 }
 // Executado ao passar o cartao quando carro esta' ligado
@@ -291,7 +291,7 @@
             can_status.can_inversor_ok = true;
             break;
        case CAN_ID_BMS_FALHAS_E_ALARMES:
-            falhas_e_alarmes.falha_bms = converteDTCBms(msg.data[2]);        
+            falhas_e_alarmes.falha_bms = converteDTCBms(msg.data[5]<<8 | msg.data[4]);        
             can_status.can_bms_ok = true;
             break;
         case CAN_ID_BMS_SOC:
@@ -457,6 +457,7 @@
             if(painel.farol == FAROL_on){
                 led_headlight.write(D_OFF_LED_HEADLIGHT);
                 painel.farol = FAROL_off;
+                io_seta_e = 1;
                 out_farol = 0;
             }else{
                 led_headlight.write(D_ON_LED_HEADLIGHT);