EZR

Dependencies:   CRC16 FreescaleIAP FreescaleWatchdog GGSProtocol LM75B PIMA Parameters PersistentCircularQueue SerialNumberV2COM mbed-dev-watchdog_2016_03_04

Fork of smartRamalKW by Equipe Firmware V2COM

Revision:
13:eed9484a89bc
Parent:
11:8c93e0de58cd
Child:
16:cae76dbd681f
--- a/appParameters.cpp	Mon Jul 27 22:51:13 2015 +0000
+++ b/appParameters.cpp	Tue Jul 28 17:56:11 2015 +0000
@@ -61,4 +61,59 @@
         APP_PARAMETERS.contadorCiclos = DEFAULT_CONTADOR_CICLOS;
     }
     
+    if(((char *)&APP_PARAMETERS.ENABLE_ALARMS)[0] == 0xff && ((char *)&APP_PARAMETERS.ENABLE_ALARMS)[1] == 0xff && ((char *)&APP_PARAMETERS.ENABLE_ALARMS)[2] == 0xff && ((char *)&APP_PARAMETERS.ENABLE_ALARMS)[3] == 0xff){
+        APP_PARAMETERS.ENABLE_ALARMS = DEFAULT_ENABLE_ALARMS;
+    }
+    
+    if(((char *)&APP_PARAMETERS.ALARMS_STATES)[0] == 0xff && ((char *)&APP_PARAMETERS.ALARMS_STATES)[1] == 0xff && ((char *)&APP_PARAMETERS.ALARMS_STATES)[2] == 0xff && ((char *)&APP_PARAMETERS.ALARMS_STATES)[3] == 0xff){
+        APP_PARAMETERS.ALARMS_STATES = DEFAULT_ALARMS_STATES;
+    }
+    
+    if(((char *)&APP_PARAMETERS.ALARMS_QUEUE_SIZE)[0] == 0xff && ((char *)&APP_PARAMETERS.ALARMS_QUEUE_SIZE)[1] == 0xff && ((char *)&APP_PARAMETERS.ALARMS_QUEUE_SIZE)[2] == 0xff && ((char *)&APP_PARAMETERS.ALARMS_QUEUE_SIZE)[3] == 0xff){
+        APP_PARAMETERS.ALARMS_QUEUE_SIZE = DEFAULT_ALARMS_QUEUE_SIZE;
+    }
+    
+    if(((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_LINHA_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_LINHA_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_LINHA_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_LINHA_V)[3] == 0xff){
+        APP_PARAMETERS.LIMITE_TENSAO_ZERO_LINHA_V = DEFAULT_LIMITE_TENSAO_ZERO_LINHA_V;
+    }
+    
+    if(((char *)&APP_PARAMETERS.LIMITE_TENSAO_MINIMA_LINHA_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MINIMA_LINHA_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MINIMA_LINHA_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MINIMA_LINHA_V)[3] == 0xff){
+        APP_PARAMETERS.LIMITE_TENSAO_MINIMA_LINHA_V = DEFAULT_LIMITE_TENSAO_MINIMA_LINHA_V;
+    }
+    
+    if(((char *)&APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_LINHA_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_LINHA_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_LINHA_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_LINHA_V)[3] == 0xff){
+        APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_LINHA_V = DEFAULT_LIMITE_TENSAO_MAXIMA_LINHA_V;
+    }
+    
+    if(((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CARGA_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CARGA_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CARGA_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CARGA_V)[3] == 0xff){
+        APP_PARAMETERS.LIMITE_TENSAO_ZERO_CARGA_V = DEFAULT_LIMITE_TENSAO_ZERO_CARGA_V;
+    }
+    
+    if(((char *)&APP_PARAMETERS.LIMITE_TENSAO_MINIMA_CARGA_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MINIMA_CARGA_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MINIMA_CARGA_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MINIMA_CARGA_V)[3] == 0xff){
+        APP_PARAMETERS.LIMITE_TENSAO_MINIMA_CARGA_V = DEFAULT_LIMITE_TENSAO_MINIMA_CARGA_V;
+    }
+    
+    if(((char *)&APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_CARGA_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_CARGA_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_CARGA_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_CARGA_V)[3] == 0xff){
+        APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_CARGA_V = DEFAULT_LIMITE_TENSAO_MAXIMA_CARGA_V;
+    }
+
 }
+
+bool isAlarmEnabled(int alarm){
+    return (APP_PARAMETERS.ENABLE_ALARMS & (1 << alarm)) > 0;
+}
+
+bool getAlarmState(int alarm){
+    return (APP_PARAMETERS.ALARMS_STATES & (1 << alarm)) > 0;
+}
+
+void setAlarmState(int alarm, bool state){
+    if(state){
+        APP_PARAMETERS.ALARMS_STATES |= (1 << alarm);
+    } else{
+        APP_PARAMETERS.ALARMS_STATES &= ~(1 << alarm);
+    }
+    if(!param.saveParameters()){
+        printf("[Param] Erro gravando estado do alarme %d\r\n", alarm);
+    }
+}