EZR

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

Fork of smartRamalKW by Equipe Firmware V2COM

Committer:
fprado
Date:
Thu Jun 16 18:55:57 2016 +0000
Revision:
35:78614a27b9e6
Parent:
25:2c578b923ea9
temporary snapshot

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tpadovani 4:2d0c2643c641 1 #include "appParameters.h"
tpadovani 4:2d0c2643c641 2
tpadovani 4:2d0c2643c641 3 void validateAppParameters(){
tpadovani 5:1bc98277c257 4 if(APP_PARAMETERS.estadoRele != ESTADO_RELE_ABERTO && APP_PARAMETERS.estadoRele != ESTADO_RELE_FECHADO){
tpadovani 5:1bc98277c257 5 APP_PARAMETERS.estadoRele = ESTADO_RELE_INDEFINIDO;
tpadovani 5:1bc98277c257 6 }
tpadovani 5:1bc98277c257 7
tpadovani 19:1f623070b9dd 8 if(APP_PARAMETERS.PROTOCOLO_MEDIDOR != PROTOCOLO_PIMINHA && APP_PARAMETERS.PROTOCOLO_MEDIDOR != PROTOCOLO_PIMA_ELO){
tpadovani 19:1f623070b9dd 9 APP_PARAMETERS.PROTOCOLO_MEDIDOR = DEFAULT_PROTOCOLO;
tpadovani 19:1f623070b9dd 10 }
tpadovani 19:1f623070b9dd 11
tpadovani 11:8c93e0de58cd 12 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){
tpadovani 5:1bc98277c257 13 APP_PARAMETERS.RELIGAR_LARGURA_PULSO_MS = DEFAULT_RELIGAR_LARGURA_PULSO_MS;
tpadovani 5:1bc98277c257 14 }
tpadovani 5:1bc98277c257 15
tpadovani 11:8c93e0de58cd 16 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){
tpadovani 5:1bc98277c257 17 APP_PARAMETERS.CORTAR_LARGURA_PULSO_MS = DEFAULT_CORTAR_LARGURA_PULSO_MS;
tpadovani 5:1bc98277c257 18 }
tpadovani 4:2d0c2643c641 19
tpadovani 11:8c93e0de58cd 20 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){
tpadovani 5:1bc98277c257 21 APP_PARAMETERS.DELAY_SENSOR_MS = DEFAULT_DELAY_SENSOR_MS;
tpadovani 5:1bc98277c257 22 }
tpadovani 5:1bc98277c257 23
tpadovani 11:8c93e0de58cd 24 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){
tpadovani 5:1bc98277c257 25 APP_PARAMETERS.INTERVALO_SILENCIO_S = DEFAULT_INTERVALO_SILENCIO_S;
tpadovani 5:1bc98277c257 26 }
tpadovani 5:1bc98277c257 27
tpadovani 11:8c93e0de58cd 28 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){
tpadovani 5:1bc98277c257 29 APP_PARAMETERS.INTERVALO_WD_NETWORK_S = DEFAULT_INTERVALO_WD_NETWORK_S;
tpadovani 5:1bc98277c257 30 }
tpadovani 7:fe8e827f4d1b 31
tpadovani 11:8c93e0de58cd 32 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){
tpadovani 7:fe8e827f4d1b 33 APP_PARAMETERS.LIMITE_TENSAO_SENSOR_V = DEFAULT_LIMITE_TENSAO_SENSOR_V;
tpadovani 7:fe8e827f4d1b 34 }
tpadovani 8:e8d86c66283c 35
tpadovani 11:8c93e0de58cd 36 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){
tpadovani 8:e8d86c66283c 37 APP_PARAMETERS.SAMPLES = DEFAULT_SAMPLES;
tpadovani 8:e8d86c66283c 38 }
tpadovani 8:e8d86c66283c 39
tpadovani 11:8c93e0de58cd 40 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){
tpadovani 8:e8d86c66283c 41 APP_PARAMETERS.SAMPLES_DELAY_US = DEFAULT_SAMPLES_DELAY_US;
tpadovani 8:e8d86c66283c 42 }
tpadovani 8:e8d86c66283c 43
tpadovani 22:b66e36356dd4 44 if(APP_PARAMETERS.SAMPLES_VOLTAGE_ANG_COEF.bytes[0] == 0xff && APP_PARAMETERS.SAMPLES_VOLTAGE_ANG_COEF.bytes[1] == 0xff && APP_PARAMETERS.SAMPLES_VOLTAGE_ANG_COEF.bytes[2] == 0xff && APP_PARAMETERS.SAMPLES_VOLTAGE_ANG_COEF.bytes[3] == 0xff){
tpadovani 22:b66e36356dd4 45 APP_PARAMETERS.SAMPLES_VOLTAGE_ANG_COEF.floatValue = DEFAULT_SAMPLES_VOLTAGE_ANG_COEF;
tpadovani 9:e501499af4ef 46 }
tpadovani 8:e8d86c66283c 47
tpadovani 22:b66e36356dd4 48 if(APP_PARAMETERS.SAMPLES_VOLTAGE_LIN_COEF.bytes[0] == 0xff && APP_PARAMETERS.SAMPLES_VOLTAGE_LIN_COEF.bytes[1] == 0xff && APP_PARAMETERS.SAMPLES_VOLTAGE_LIN_COEF.bytes[2] == 0xff && APP_PARAMETERS.SAMPLES_VOLTAGE_LIN_COEF.bytes[3] == 0xff){
tpadovani 22:b66e36356dd4 49 APP_PARAMETERS.SAMPLES_VOLTAGE_LIN_COEF.floatValue = DEFAULT_SAMPLES_VOLTAGE_LIN_COEF;
tpadovani 9:e501499af4ef 50 }
tpadovani 9:e501499af4ef 51
tpadovani 9:e501499af4ef 52 if(APP_PARAMETERS.LOAD_CHANNEL != 0 && APP_PARAMETERS.LOAD_CHANNEL != 1){
tpadovani 9:e501499af4ef 53 APP_PARAMETERS.LOAD_CHANNEL = DEFAULT_LOAD_CHANNEL;
tpadovani 9:e501499af4ef 54 }
tpadovani 8:e8d86c66283c 55
tpadovani 11:8c93e0de58cd 56 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){
tpadovani 10:7a1d1abb5172 57 APP_PARAMETERS.INTERVALO_MM_S = DEFAULT_INTERVALO_MM_S;
tpadovani 10:7a1d1abb5172 58 }
tpadovani 10:7a1d1abb5172 59
tpadovani 11:8c93e0de58cd 60 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){
tpadovani 10:7a1d1abb5172 61 APP_PARAMETERS.MM_SIZE = DEFAULT_MM_SIZE;
tpadovani 10:7a1d1abb5172 62 }
tpadovani 10:7a1d1abb5172 63
tpadovani 11:8c93e0de58cd 64 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){
tpadovani 11:8c93e0de58cd 65 APP_PARAMETERS.contadorCiclos = DEFAULT_CONTADOR_CICLOS;
tpadovani 11:8c93e0de58cd 66 }
tpadovani 11:8c93e0de58cd 67
tpadovani 13:eed9484a89bc 68 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){
tpadovani 13:eed9484a89bc 69 APP_PARAMETERS.ENABLE_ALARMS = DEFAULT_ENABLE_ALARMS;
tpadovani 13:eed9484a89bc 70 }
tpadovani 13:eed9484a89bc 71
tpadovani 13:eed9484a89bc 72 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){
tpadovani 13:eed9484a89bc 73 APP_PARAMETERS.ALARMS_STATES = DEFAULT_ALARMS_STATES;
tpadovani 13:eed9484a89bc 74 }
tpadovani 13:eed9484a89bc 75
tpadovani 13:eed9484a89bc 76 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){
tpadovani 13:eed9484a89bc 77 APP_PARAMETERS.ALARMS_QUEUE_SIZE = DEFAULT_ALARMS_QUEUE_SIZE;
tpadovani 13:eed9484a89bc 78 }
tpadovani 13:eed9484a89bc 79
tpadovani 16:cae76dbd681f 80 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){
tpadovani 16:cae76dbd681f 81 APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH0_V = DEFAULT_LIMITE_TENSAO_ZERO_CH0_V;
tpadovani 13:eed9484a89bc 82 }
tpadovani 13:eed9484a89bc 83
tpadovani 13:eed9484a89bc 84 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){
tpadovani 13:eed9484a89bc 85 APP_PARAMETERS.LIMITE_TENSAO_MINIMA_LINHA_V = DEFAULT_LIMITE_TENSAO_MINIMA_LINHA_V;
tpadovani 13:eed9484a89bc 86 }
tpadovani 13:eed9484a89bc 87
tpadovani 13:eed9484a89bc 88 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){
tpadovani 13:eed9484a89bc 89 APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_LINHA_V = DEFAULT_LIMITE_TENSAO_MAXIMA_LINHA_V;
tpadovani 13:eed9484a89bc 90 }
tpadovani 13:eed9484a89bc 91
tpadovani 16:cae76dbd681f 92 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){
tpadovani 16:cae76dbd681f 93 APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH1_V = DEFAULT_LIMITE_TENSAO_ZERO_CH1_V;
tpadovani 13:eed9484a89bc 94 }
tpadovani 13:eed9484a89bc 95
tpadovani 13:eed9484a89bc 96 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){
tpadovani 13:eed9484a89bc 97 APP_PARAMETERS.LIMITE_TENSAO_MINIMA_CARGA_V = DEFAULT_LIMITE_TENSAO_MINIMA_CARGA_V;
tpadovani 13:eed9484a89bc 98 }
tpadovani 13:eed9484a89bc 99
tpadovani 13:eed9484a89bc 100 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){
tpadovani 13:eed9484a89bc 101 APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_CARGA_V = DEFAULT_LIMITE_TENSAO_MAXIMA_CARGA_V;
tpadovani 13:eed9484a89bc 102 }
tpadovani 19:1f623070b9dd 103
tpadovani 19:1f623070b9dd 104
tpadovani 19:1f623070b9dd 105 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){
tpadovani 19:1f623070b9dd 106 APP_PARAMETERS.INTERVALO_WD_METER_S = DEFAULT_INTERVALO_WD_METER_S;
tpadovani 19:1f623070b9dd 107 }
tpadovani 19:1f623070b9dd 108
tpadovani 19:1f623070b9dd 109 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){
tpadovani 19:1f623070b9dd 110 APP_PARAMETERS.PIMA_TIMEOUT_PACOTE_S = DEFAULT_PIMA_TIMEOUT_PACOTE_S;
tpadovani 19:1f623070b9dd 111 }
tpadovani 19:1f623070b9dd 112
tpadovani 19:1f623070b9dd 113 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){
tpadovani 19:1f623070b9dd 114 APP_PARAMETERS.PIMA_VALIDADE_MEDIDOR_S = DEFAULT_PIMA_VALIDADE_MEDIDOR_S;
tpadovani 19:1f623070b9dd 115 }
tpadovani 19:1f623070b9dd 116
tpadovani 19:1f623070b9dd 117 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){
tpadovani 19:1f623070b9dd 118 APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_ATIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_ATIVA_S;
tpadovani 19:1f623070b9dd 119 }
tpadovani 19:1f623070b9dd 120
tpadovani 19:1f623070b9dd 121 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){
tpadovani 19:1f623070b9dd 122 APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S;
tpadovani 19:1f623070b9dd 123 }
tpadovani 19:1f623070b9dd 124
tpadovani 19:1f623070b9dd 125 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){
tpadovani 19:1f623070b9dd 126 APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S;
tpadovani 19:1f623070b9dd 127 }
tpadovani 19:1f623070b9dd 128
tpadovani 19:1f623070b9dd 129 if(APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE != 0 && APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE != 1){
tpadovani 19:1f623070b9dd 130 APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE = DEFAULT_PIMA_AUTOBAUD_ENABLE;
tpadovani 19:1f623070b9dd 131 }
tpadovani 19:1f623070b9dd 132
tpadovani 19:1f623070b9dd 133 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){
tpadovani 19:1f623070b9dd 134 APP_PARAMETERS.PIMA_AUTOBAUD_TIMEOUT_S = DEFAULT_PIMA_AUTOBAUD_TIMEOUT_S;
tpadovani 19:1f623070b9dd 135 }
tpadovani 19:1f623070b9dd 136
tpadovani 19:1f623070b9dd 137 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){
tpadovani 19:1f623070b9dd 138 APP_PARAMETERS.RADIO_BAUDRATE_BPS = DEFAULT_RADIO_BAUDRATE_BPS;
tpadovani 19:1f623070b9dd 139 }
tpadovani 22:b66e36356dd4 140
tpadovani 25:2c578b923ea9 141 if(APP_PARAMETERS.LIMITE_CORRENTE_ZERO_A.bytes[0] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_ZERO_A.bytes[1] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_ZERO_A.bytes[2] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_ZERO_A.bytes[3] == 0xff){
tpadovani 25:2c578b923ea9 142 APP_PARAMETERS.LIMITE_CORRENTE_ZERO_A.floatValue = DEFAULT_LIMITE_CORRENTE_ZERO_A;
tpadovani 22:b66e36356dd4 143 }
tpadovani 22:b66e36356dd4 144
tpadovani 25:2c578b923ea9 145 if(APP_PARAMETERS.LIMITE_CORRENTE_MINIMA_A.bytes[0] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_MINIMA_A.bytes[1] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_MINIMA_A.bytes[2] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_MINIMA_A.bytes[3] == 0xff){
tpadovani 25:2c578b923ea9 146 APP_PARAMETERS.LIMITE_CORRENTE_MINIMA_A.floatValue = DEFAULT_LIMITE_CORRENTE_MINIMA_A;
tpadovani 22:b66e36356dd4 147 }
tpadovani 22:b66e36356dd4 148
tpadovani 25:2c578b923ea9 149 if(APP_PARAMETERS.LIMITE_CORRENTE_MAXIMA_A.bytes[0] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_MAXIMA_A.bytes[1] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_MAXIMA_A.bytes[2] == 0xff && APP_PARAMETERS.LIMITE_CORRENTE_MAXIMA_A.bytes[3] == 0xff){
tpadovani 25:2c578b923ea9 150 APP_PARAMETERS.LIMITE_CORRENTE_MAXIMA_A.floatValue = DEFAULT_LIMITE_CORRENTE_MAXIMA_A;
tpadovani 22:b66e36356dd4 151 }
tpadovani 22:b66e36356dd4 152
tpadovani 22:b66e36356dd4 153 if(APP_PARAMETERS.SAMPLES_CURRENT_ANG_COEF.bytes[0] == 0xff && APP_PARAMETERS.SAMPLES_CURRENT_ANG_COEF.bytes[1] == 0xff && APP_PARAMETERS.SAMPLES_CURRENT_ANG_COEF.bytes[2] == 0xff && APP_PARAMETERS.SAMPLES_CURRENT_ANG_COEF.bytes[3] == 0xff){
tpadovani 22:b66e36356dd4 154 APP_PARAMETERS.SAMPLES_CURRENT_ANG_COEF.floatValue = DEFAULT_SAMPLES_CURRENT_ANG_COEF;
tpadovani 22:b66e36356dd4 155 }
tpadovani 22:b66e36356dd4 156
tpadovani 22:b66e36356dd4 157 if(APP_PARAMETERS.SAMPLES_CURRENT_LIN_COEF.bytes[0] == 0xff && APP_PARAMETERS.SAMPLES_CURRENT_LIN_COEF.bytes[1] == 0xff && APP_PARAMETERS.SAMPLES_CURRENT_LIN_COEF.bytes[2] == 0xff && APP_PARAMETERS.SAMPLES_CURRENT_LIN_COEF.bytes[3] == 0xff){
tpadovani 22:b66e36356dd4 158 APP_PARAMETERS.SAMPLES_CURRENT_LIN_COEF.floatValue = DEFAULT_SAMPLES_CURRENT_LIN_COEF;
tpadovani 22:b66e36356dd4 159 }
tpadovani 22:b66e36356dd4 160
tpadovani 22:b66e36356dd4 161 if(((char *)&APP_PARAMETERS.ENABLE_LOAD_PROFILE)[0] == 0xff && ((char *)&APP_PARAMETERS.ENABLE_LOAD_PROFILE)[1] == 0xff && ((char *)&APP_PARAMETERS.ENABLE_LOAD_PROFILE)[2] == 0xff && ((char *)&APP_PARAMETERS.ENABLE_LOAD_PROFILE)[3] == 0xff){
tpadovani 22:b66e36356dd4 162 APP_PARAMETERS.ENABLE_LOAD_PROFILE = DEFAULT_ENABLE_LOAD_PROFILE;
tpadovani 22:b66e36356dd4 163 }
tpadovani 25:2c578b923ea9 164
tpadovani 25:2c578b923ea9 165 if(((char *)&APP_PARAMETERS.DISCOVERY_DELAY_ANG_COEF_MS)[0] == 0xff && ((char *)&APP_PARAMETERS.DISCOVERY_DELAY_ANG_COEF_MS)[1] == 0xff && ((char *)&APP_PARAMETERS.DISCOVERY_DELAY_ANG_COEF_MS)[2] == 0xff && ((char *)&APP_PARAMETERS.DISCOVERY_DELAY_ANG_COEF_MS)[3] == 0xff){
tpadovani 25:2c578b923ea9 166 APP_PARAMETERS.DISCOVERY_DELAY_ANG_COEF_MS = DEFAULT_DISCOVERY_DELAY_ANG_COEF_MS;
tpadovani 25:2c578b923ea9 167 }
tpadovani 25:2c578b923ea9 168
tpadovani 25:2c578b923ea9 169 if(((char *)&APP_PARAMETERS.DISCOVERY_DELAY_LIN_COEF_MS)[0] == 0xff && ((char *)&APP_PARAMETERS.DISCOVERY_DELAY_LIN_COEF_MS)[1] == 0xff && ((char *)&APP_PARAMETERS.DISCOVERY_DELAY_LIN_COEF_MS)[2] == 0xff && ((char *)&APP_PARAMETERS.DISCOVERY_DELAY_LIN_COEF_MS)[3] == 0xff){
tpadovani 25:2c578b923ea9 170 APP_PARAMETERS.DISCOVERY_DELAY_LIN_COEF_MS = DEFAULT_DISCOVERY_DELAY_LIN_COEF_MS;
tpadovani 25:2c578b923ea9 171 }
tpadovani 25:2c578b923ea9 172
tpadovani 25:2c578b923ea9 173 if(((char *)&APP_PARAMETERS.ANNOUNCE_INTERVAL_S)[0] == 0xff && ((char *)&APP_PARAMETERS.ANNOUNCE_INTERVAL_S)[1] == 0xff && ((char *)&APP_PARAMETERS.ANNOUNCE_INTERVAL_S)[2] == 0xff && ((char *)&APP_PARAMETERS.ANNOUNCE_INTERVAL_S)[3] == 0xff){
tpadovani 25:2c578b923ea9 174 APP_PARAMETERS.ANNOUNCE_INTERVAL_S = DEFAULT_ANNOUNCE_INTERVAL_S;
tpadovani 25:2c578b923ea9 175 }
tpadovani 13:eed9484a89bc 176
tpadovani 4:2d0c2643c641 177 }
tpadovani 13:eed9484a89bc 178
tpadovani 13:eed9484a89bc 179 bool isAlarmEnabled(int alarm){
tpadovani 13:eed9484a89bc 180 return (APP_PARAMETERS.ENABLE_ALARMS & (1 << alarm)) > 0;
tpadovani 13:eed9484a89bc 181 }
tpadovani 13:eed9484a89bc 182
tpadovani 13:eed9484a89bc 183 bool getAlarmState(int alarm){
tpadovani 13:eed9484a89bc 184 return (APP_PARAMETERS.ALARMS_STATES & (1 << alarm)) > 0;
tpadovani 13:eed9484a89bc 185 }
tpadovani 13:eed9484a89bc 186
tpadovani 13:eed9484a89bc 187 void setAlarmState(int alarm, bool state){
tpadovani 13:eed9484a89bc 188 if(state){
tpadovani 13:eed9484a89bc 189 APP_PARAMETERS.ALARMS_STATES |= (1 << alarm);
tpadovani 13:eed9484a89bc 190 } else{
tpadovani 13:eed9484a89bc 191 APP_PARAMETERS.ALARMS_STATES &= ~(1 << alarm);
tpadovani 13:eed9484a89bc 192 }
tpadovani 13:eed9484a89bc 193 if(!param.saveParameters()){
tpadovani 22:b66e36356dd4 194 DEBUG(printf("[Param] Error writing alarm states (alarm %d)\r\n", alarm));
tpadovani 13:eed9484a89bc 195 }
tpadovani 13:eed9484a89bc 196 }