EZR
Dependencies: CRC16 FreescaleIAP FreescaleWatchdog GGSProtocol LM75B PIMA Parameters PersistentCircularQueue SerialNumberV2COM mbed-dev-watchdog_2016_03_04
Fork of smartRamalKW by
appParameters.cpp
- Committer:
- tpadovani
- Date:
- 2015-10-08
- Revision:
- 19:1f623070b9dd
- Parent:
- 16:cae76dbd681f
- Child:
- 20:da03c9e94ad3
File content as of revision 19:1f623070b9dd:
#include "appParameters.h" void validateAppParameters(){ if(APP_PARAMETERS.estadoRele != ESTADO_RELE_ABERTO && APP_PARAMETERS.estadoRele != ESTADO_RELE_FECHADO){ APP_PARAMETERS.estadoRele = ESTADO_RELE_INDEFINIDO; } if(APP_PARAMETERS.PROTOCOLO_MEDIDOR != PROTOCOLO_PIMINHA && APP_PARAMETERS.PROTOCOLO_MEDIDOR != PROTOCOLO_PIMA_ELO){ APP_PARAMETERS.PROTOCOLO_MEDIDOR = DEFAULT_PROTOCOLO; } if(((char *)&APP_PARAMETERS.RELIGAR_LARGURA_PULSO_MS)[0] == 0xff && ((char *)&APP_PARAMETERS.RELIGAR_LARGURA_PULSO_MS)[1] == 0xff && ((char *)&APP_PARAMETERS.RELIGAR_LARGURA_PULSO_MS)[2] == 0xff && ((char *)&APP_PARAMETERS.RELIGAR_LARGURA_PULSO_MS)[3] == 0xff){ APP_PARAMETERS.RELIGAR_LARGURA_PULSO_MS = DEFAULT_RELIGAR_LARGURA_PULSO_MS; } if(((char *)&APP_PARAMETERS.CORTAR_LARGURA_PULSO_MS)[0] == 0xff && ((char *)&APP_PARAMETERS.CORTAR_LARGURA_PULSO_MS)[1] == 0xff && ((char *)&APP_PARAMETERS.CORTAR_LARGURA_PULSO_MS)[2] == 0xff && ((char *)&APP_PARAMETERS.CORTAR_LARGURA_PULSO_MS)[3] == 0xff){ APP_PARAMETERS.CORTAR_LARGURA_PULSO_MS = DEFAULT_CORTAR_LARGURA_PULSO_MS; } if(((char *)&APP_PARAMETERS.DELAY_SENSOR_MS)[0] == 0xff && ((char *)&APP_PARAMETERS.DELAY_SENSOR_MS)[1] == 0xff && ((char *)&APP_PARAMETERS.DELAY_SENSOR_MS)[2] == 0xff && ((char *)&APP_PARAMETERS.DELAY_SENSOR_MS)[3] == 0xff){ APP_PARAMETERS.DELAY_SENSOR_MS = DEFAULT_DELAY_SENSOR_MS; } if(((char *)&APP_PARAMETERS.INTERVALO_SILENCIO_S)[0] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_SILENCIO_S)[1] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_SILENCIO_S)[2] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_SILENCIO_S)[3] == 0xff){ APP_PARAMETERS.INTERVALO_SILENCIO_S = DEFAULT_INTERVALO_SILENCIO_S; } if(((char *)&APP_PARAMETERS.INTERVALO_WD_NETWORK_S)[0] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_WD_NETWORK_S)[1] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_WD_NETWORK_S)[2] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_WD_NETWORK_S)[3] == 0xff){ APP_PARAMETERS.INTERVALO_WD_NETWORK_S = DEFAULT_INTERVALO_WD_NETWORK_S; } if(((char *)&APP_PARAMETERS.LIMITE_TENSAO_SENSOR_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_SENSOR_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_SENSOR_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_SENSOR_V)[3] == 0xff){ APP_PARAMETERS.LIMITE_TENSAO_SENSOR_V = DEFAULT_LIMITE_TENSAO_SENSOR_V; } if(((char *)&APP_PARAMETERS.SAMPLES)[0] == 0xff && ((char *)&APP_PARAMETERS.SAMPLES)[1] == 0xff && ((char *)&APP_PARAMETERS.SAMPLES)[2] == 0xff && ((char *)&APP_PARAMETERS.SAMPLES)[3] == 0xff){ APP_PARAMETERS.SAMPLES = DEFAULT_SAMPLES; } if(((char *)&APP_PARAMETERS.SAMPLES_DELAY_US)[0] == 0xff && ((char *)&APP_PARAMETERS.SAMPLES_DELAY_US)[1] == 0xff && ((char *)&APP_PARAMETERS.SAMPLES_DELAY_US)[2] == 0xff && ((char *)&APP_PARAMETERS.SAMPLES_DELAY_US)[3] == 0xff){ APP_PARAMETERS.SAMPLES_DELAY_US = DEFAULT_SAMPLES_DELAY_US; } if(APP_PARAMETERS.SAMPLES_ANG_COEF.bytes[0] == 0xff && APP_PARAMETERS.SAMPLES_ANG_COEF.bytes[1] == 0xff && APP_PARAMETERS.SAMPLES_ANG_COEF.bytes[2] == 0xff && APP_PARAMETERS.SAMPLES_ANG_COEF.bytes[3] == 0xff){ APP_PARAMETERS.SAMPLES_ANG_COEF.floatValue = DEFAULT_SAMPLES_ANG_COEF; } if(APP_PARAMETERS.SAMPLES_LIN_COEF.bytes[0] == 0xff && APP_PARAMETERS.SAMPLES_LIN_COEF.bytes[1] == 0xff && APP_PARAMETERS.SAMPLES_LIN_COEF.bytes[2] == 0xff && APP_PARAMETERS.SAMPLES_LIN_COEF.bytes[3] == 0xff){ APP_PARAMETERS.SAMPLES_LIN_COEF.floatValue = DEFAULT_SAMPLES_LIN_COEF; } if(APP_PARAMETERS.LOAD_CHANNEL != 0 && APP_PARAMETERS.LOAD_CHANNEL != 1){ APP_PARAMETERS.LOAD_CHANNEL = DEFAULT_LOAD_CHANNEL; } if(((char *)&APP_PARAMETERS.INTERVALO_MM_S)[0] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_MM_S)[1] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_MM_S)[2] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_MM_S)[3] == 0xff){ APP_PARAMETERS.INTERVALO_MM_S = DEFAULT_INTERVALO_MM_S; } if(((char *)&APP_PARAMETERS.MM_SIZE)[0] == 0xff && ((char *)&APP_PARAMETERS.MM_SIZE)[1] == 0xff && ((char *)&APP_PARAMETERS.MM_SIZE)[2] == 0xff && ((char *)&APP_PARAMETERS.MM_SIZE)[3] == 0xff){ APP_PARAMETERS.MM_SIZE = DEFAULT_MM_SIZE; } if(((char *)&APP_PARAMETERS.contadorCiclos)[0] == 0xff && ((char *)&APP_PARAMETERS.contadorCiclos)[1] == 0xff && ((char *)&APP_PARAMETERS.contadorCiclos)[2] == 0xff && ((char *)&APP_PARAMETERS.contadorCiclos)[3] == 0xff){ 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_CH0_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH0_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH0_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH0_V)[3] == 0xff){ APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH0_V = DEFAULT_LIMITE_TENSAO_ZERO_CH0_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_CH1_V)[0] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH1_V)[1] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH1_V)[2] == 0xff && ((char *)&APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH1_V)[3] == 0xff){ APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH1_V = DEFAULT_LIMITE_TENSAO_ZERO_CH1_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; } if(((char *)&APP_PARAMETERS.INTERVALO_WD_METER_S)[0] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_WD_METER_S)[1] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_WD_METER_S)[2] == 0xff && ((char *)&APP_PARAMETERS.INTERVALO_WD_METER_S)[3] == 0xff){ APP_PARAMETERS.INTERVALO_WD_METER_S = DEFAULT_INTERVALO_WD_METER_S; } if(((char *)&APP_PARAMETERS.PIMA_TIMEOUT_PACOTE_S)[0] == 0xff && ((char *)&APP_PARAMETERS.PIMA_TIMEOUT_PACOTE_S)[1] == 0xff && ((char *)&APP_PARAMETERS.PIMA_TIMEOUT_PACOTE_S)[2] == 0xff && ((char *)&APP_PARAMETERS.PIMA_TIMEOUT_PACOTE_S)[3] == 0xff){ APP_PARAMETERS.PIMA_TIMEOUT_PACOTE_S = DEFAULT_PIMA_TIMEOUT_PACOTE_S; } if(((char *)&APP_PARAMETERS.PIMA_VALIDADE_MEDIDOR_S)[0] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_MEDIDOR_S)[1] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_MEDIDOR_S)[2] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_MEDIDOR_S)[3] == 0xff){ APP_PARAMETERS.PIMA_VALIDADE_MEDIDOR_S = DEFAULT_PIMA_VALIDADE_MEDIDOR_S; } if(((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_ATIVA_S)[0] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_ATIVA_S)[1] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_ATIVA_S)[2] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_ATIVA_S)[3] == 0xff){ APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_ATIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_ATIVA_S; } if(((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S)[0] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S)[1] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S)[2] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S)[3] == 0xff){ APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S; } if(((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S)[0] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S)[1] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S)[2] == 0xff && ((char *)&APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S)[3] == 0xff){ APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S; } if(APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE != 0 && APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE != 1){ APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE = DEFAULT_PIMA_AUTOBAUD_ENABLE; } if(((char *)&APP_PARAMETERS.PIMA_AUTOBAUD_TIMEOUT_S)[0] == 0xff && ((char *)&APP_PARAMETERS.PIMA_AUTOBAUD_TIMEOUT_S)[1] == 0xff && ((char *)&APP_PARAMETERS.PIMA_AUTOBAUD_TIMEOUT_S)[2] == 0xff && ((char *)&APP_PARAMETERS.PIMA_AUTOBAUD_TIMEOUT_S)[3] == 0xff){ APP_PARAMETERS.PIMA_AUTOBAUD_TIMEOUT_S = DEFAULT_PIMA_AUTOBAUD_TIMEOUT_S; } if(((char *)&APP_PARAMETERS.RADIO_BAUDRATE_BPS)[0] == 0xff && ((char *)&APP_PARAMETERS.RADIO_BAUDRATE_BPS)[1] == 0xff && ((char *)&APP_PARAMETERS.RADIO_BAUDRATE_BPS)[2] == 0xff && ((char *)&APP_PARAMETERS.RADIO_BAUDRATE_BPS)[3] == 0xff){ APP_PARAMETERS.RADIO_BAUDRATE_BPS = DEFAULT_RADIO_BAUDRATE_BPS; } } 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); } }