Frederico Prado / smartRamalEZR

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

Fork of smartRamalKW by Equipe Firmware V2COM

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers appParameters.cpp Source File

appParameters.cpp

00001 #include "appParameters.h"
00002 
00003 void validateAppParameters(){
00004     if(APP_PARAMETERS.estadoRele != ESTADO_RELE_ABERTO && APP_PARAMETERS.estadoRele != ESTADO_RELE_FECHADO){
00005         APP_PARAMETERS.estadoRele = ESTADO_RELE_INDEFINIDO;
00006     }
00007     
00008     if(APP_PARAMETERS.PROTOCOLO_MEDIDOR != PROTOCOLO_PIMINHA && APP_PARAMETERS.PROTOCOLO_MEDIDOR != PROTOCOLO_PIMA_ELO){
00009         APP_PARAMETERS.PROTOCOLO_MEDIDOR = DEFAULT_PROTOCOLO;
00010     }
00011     
00012     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){
00013         APP_PARAMETERS.RELIGAR_LARGURA_PULSO_MS = DEFAULT_RELIGAR_LARGURA_PULSO_MS;
00014     }
00015     
00016     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){
00017         APP_PARAMETERS.CORTAR_LARGURA_PULSO_MS = DEFAULT_CORTAR_LARGURA_PULSO_MS;
00018     }
00019     
00020     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){
00021         APP_PARAMETERS.DELAY_SENSOR_MS = DEFAULT_DELAY_SENSOR_MS;
00022     }
00023     
00024     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){
00025         APP_PARAMETERS.INTERVALO_SILENCIO_S = DEFAULT_INTERVALO_SILENCIO_S;
00026     }
00027     
00028     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){
00029         APP_PARAMETERS.INTERVALO_WD_NETWORK_S = DEFAULT_INTERVALO_WD_NETWORK_S;
00030     }
00031     
00032     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){
00033         APP_PARAMETERS.LIMITE_TENSAO_SENSOR_V = DEFAULT_LIMITE_TENSAO_SENSOR_V;
00034     }
00035     
00036     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){
00037         APP_PARAMETERS.SAMPLES = DEFAULT_SAMPLES;
00038     }
00039     
00040     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){
00041         APP_PARAMETERS.SAMPLES_DELAY_US = DEFAULT_SAMPLES_DELAY_US;
00042     }
00043     
00044     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){
00045         APP_PARAMETERS.SAMPLES_VOLTAGE_ANG_COEF.floatValue = DEFAULT_SAMPLES_VOLTAGE_ANG_COEF;
00046     }
00047     
00048     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){
00049         APP_PARAMETERS.SAMPLES_VOLTAGE_LIN_COEF.floatValue = DEFAULT_SAMPLES_VOLTAGE_LIN_COEF;
00050     }
00051     
00052     if(APP_PARAMETERS.LOAD_CHANNEL != 0 && APP_PARAMETERS.LOAD_CHANNEL != 1){
00053         APP_PARAMETERS.LOAD_CHANNEL = DEFAULT_LOAD_CHANNEL;
00054     }
00055     
00056     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){
00057         APP_PARAMETERS.INTERVALO_MM_S = DEFAULT_INTERVALO_MM_S;
00058     }
00059     
00060     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){
00061         APP_PARAMETERS.MM_SIZE = DEFAULT_MM_SIZE;
00062     }
00063     
00064     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){
00065         APP_PARAMETERS.contadorCiclos = DEFAULT_CONTADOR_CICLOS;
00066     }
00067     
00068     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){
00069         APP_PARAMETERS.ENABLE_ALARMS = DEFAULT_ENABLE_ALARMS;
00070     }
00071     
00072     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){
00073         APP_PARAMETERS.ALARMS_STATES = DEFAULT_ALARMS_STATES;
00074     }
00075     
00076     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){
00077         APP_PARAMETERS.ALARMS_QUEUE_SIZE = DEFAULT_ALARMS_QUEUE_SIZE;
00078     }
00079     
00080     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){
00081         APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH0_V = DEFAULT_LIMITE_TENSAO_ZERO_CH0_V;
00082     }
00083     
00084     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){
00085         APP_PARAMETERS.LIMITE_TENSAO_MINIMA_LINHA_V = DEFAULT_LIMITE_TENSAO_MINIMA_LINHA_V;
00086     }
00087     
00088     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){
00089         APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_LINHA_V = DEFAULT_LIMITE_TENSAO_MAXIMA_LINHA_V;
00090     }
00091     
00092     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){
00093         APP_PARAMETERS.LIMITE_TENSAO_ZERO_CH1_V = DEFAULT_LIMITE_TENSAO_ZERO_CH1_V;
00094     }
00095     
00096     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){
00097         APP_PARAMETERS.LIMITE_TENSAO_MINIMA_CARGA_V = DEFAULT_LIMITE_TENSAO_MINIMA_CARGA_V;
00098     }
00099     
00100     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){
00101         APP_PARAMETERS.LIMITE_TENSAO_MAXIMA_CARGA_V = DEFAULT_LIMITE_TENSAO_MAXIMA_CARGA_V;
00102     }
00103     
00104     
00105     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){
00106         APP_PARAMETERS.INTERVALO_WD_METER_S = DEFAULT_INTERVALO_WD_METER_S;
00107     }
00108     
00109     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){
00110         APP_PARAMETERS.PIMA_TIMEOUT_PACOTE_S = DEFAULT_PIMA_TIMEOUT_PACOTE_S;
00111     }
00112     
00113     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){
00114         APP_PARAMETERS.PIMA_VALIDADE_MEDIDOR_S = DEFAULT_PIMA_VALIDADE_MEDIDOR_S;
00115     }
00116     
00117     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){
00118         APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_ATIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_ATIVA_S;
00119     }
00120 
00121     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){
00122         APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_REATIVA_INDUTIVA_S;
00123     }
00124     
00125     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){
00126         APP_PARAMETERS.PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S = DEFAULT_PIMA_VALIDADE_ENERGIA_REATIVA_CAPACITIVA_S;
00127     }
00128     
00129     if(APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE != 0 && APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE != 1){
00130         APP_PARAMETERS.PIMA_AUTOBAUD_ENABLE = DEFAULT_PIMA_AUTOBAUD_ENABLE;
00131     }
00132     
00133     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){
00134         APP_PARAMETERS.PIMA_AUTOBAUD_TIMEOUT_S = DEFAULT_PIMA_AUTOBAUD_TIMEOUT_S;
00135     }
00136     
00137     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){
00138         APP_PARAMETERS.RADIO_BAUDRATE_BPS = DEFAULT_RADIO_BAUDRATE_BPS;
00139     }
00140     
00141     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){
00142         APP_PARAMETERS.LIMITE_CORRENTE_ZERO_A.floatValue = DEFAULT_LIMITE_CORRENTE_ZERO_A;
00143     }
00144     
00145     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){
00146         APP_PARAMETERS.LIMITE_CORRENTE_MINIMA_A.floatValue = DEFAULT_LIMITE_CORRENTE_MINIMA_A;
00147     }
00148     
00149     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){
00150         APP_PARAMETERS.LIMITE_CORRENTE_MAXIMA_A.floatValue = DEFAULT_LIMITE_CORRENTE_MAXIMA_A;
00151     }
00152 
00153     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){
00154         APP_PARAMETERS.SAMPLES_CURRENT_ANG_COEF.floatValue = DEFAULT_SAMPLES_CURRENT_ANG_COEF;
00155     }
00156     
00157     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){
00158         APP_PARAMETERS.SAMPLES_CURRENT_LIN_COEF.floatValue = DEFAULT_SAMPLES_CURRENT_LIN_COEF;
00159     }
00160     
00161     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){
00162         APP_PARAMETERS.ENABLE_LOAD_PROFILE = DEFAULT_ENABLE_LOAD_PROFILE;
00163     }
00164     
00165     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){
00166         APP_PARAMETERS.DISCOVERY_DELAY_ANG_COEF_MS = DEFAULT_DISCOVERY_DELAY_ANG_COEF_MS;
00167     }
00168     
00169     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){
00170         APP_PARAMETERS.DISCOVERY_DELAY_LIN_COEF_MS = DEFAULT_DISCOVERY_DELAY_LIN_COEF_MS;
00171     }
00172     
00173     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){
00174         APP_PARAMETERS.ANNOUNCE_INTERVAL_S = DEFAULT_ANNOUNCE_INTERVAL_S;
00175     }
00176 
00177 }
00178 
00179 bool isAlarmEnabled(int alarm){
00180     return (APP_PARAMETERS.ENABLE_ALARMS & (1 << alarm)) > 0;
00181 }
00182 
00183 bool getAlarmState(int alarm){
00184     return (APP_PARAMETERS.ALARMS_STATES & (1 << alarm)) > 0;
00185 }
00186 
00187 void setAlarmState(int alarm, bool state){
00188     if(state){
00189         APP_PARAMETERS.ALARMS_STATES |= (1 << alarm);
00190     } else{
00191         APP_PARAMETERS.ALARMS_STATES &= ~(1 << alarm);
00192     }
00193     if(!param.saveParameters()){
00194         DEBUG(printf("[Param] Error writing alarm states (alarm %d)\r\n", alarm));
00195     }
00196 }