EZR
Dependencies: CRC16 FreescaleIAP FreescaleWatchdog GGSProtocol LM75B PIMA Parameters PersistentCircularQueue SerialNumberV2COM mbed-dev-watchdog_2016_03_04
Fork of smartRamalKW by
appCommands.cpp
- Committer:
- tpadovani
- Date:
- 2015-10-08
- Revision:
- 19:1f623070b9dd
- Parent:
- 18:476f5723d860
- Child:
- 20:da03c9e94ad3
File content as of revision 19:1f623070b9dd:
#include "appCommands.h" void enviaRespostaGGS(char * dados, int tamanho){ for(int i=0; i < tamanho; i++){ ggsStream.putc(dados[i]); } } void executaComando(unsigned char tamanho, unsigned char sequencia, unsigned char tipo, char * dados){ switch(tipo){ case CMD_LER_VERSAO: cmdLerVersao(); break; case CMD_LER_NUM_SERIE: cmdLerNumeroSerie(); break; case CMD_GRAVAR_NUM_SERIE: cmdGravarNumeroSerie(dados, tamanho - TAMANHO_MINIMO_PACOTE); exec.carregaEndereco(sn.get()); break; case CMD_RESET: cmdReset(); break; case CMD_CORTAR: cmdCortar(); break; case CMD_RELIGAR: cmdReligar(); break; case CMD_ESTADO_FORNECIMENTO: cmdEstadoFornecimento(); break; case CMD_LER_ENERGIA_ATIVA: cmdLerEnergiaAtiva(); break; case CMD_LER_ENERGIA_REATIVA_INDUTIVA: cmdLerEnergiaReativaIndutiva(); break; case CMD_LER_ENERGIA_REATIVA_CAPACITIVA: cmdLerEnergiaReativaCapacitiva(); break; case CMD_BUSCAR_MEDIDOR: cmdBuscarMedidor(dados, tamanho - TAMANHO_MINIMO_PACOTE); break; case CMD_BUSCAR_DENDRION: cmdBuscarDendrion(); break; case RESP_BUSCAR_CONCENTRADOR: respBuscarConcentrador(); break; case CMD_LER_PARAMETROS: cmdLerParametros(); break; case CMD_CONFIGURAR_PARAMETROS: cmdConfigurarParametros(dados, tamanho - TAMANHO_MINIMO_PACOTE); break; case CMD_LER_RELOGIO: cmdLerRelogio(); break; case CMD_TENSAO_INSTANTANEA: cmdTensaoInstantanea(dados[0]); break; case CMD_MM_TENSAO: cmdMMTensao(dados[0], dados[1]); break; case CMD_DETECTA_CARGA: cmdDetectaCarga(); break; case CMD_LER_CICLOS_CORTE: cmdLerCiclosCorte(); break; // case CMD_LER_PARAM_BLUETOOTH: // cmdLerParamBluetooth(); // break; // case CMD_GRAVAR_PARAM_BLUETOOTH: // cmdGravarParamBluetooth(dados, tamanho - TAMANHO_MINIMO_PACOTE); // break; // case CMD_EXEC_CMD_BTM: // cmdExecCmdBtm(dados, tamanho - TAMANHO_MINIMO_PACOTE); // break; case CMD_LER_ALARMES: cmdLerAlarmes(dados[0]); break; case CMD_GRAVAR_RELOGIO: cmdGravarRelogio(dados, tamanho - TAMANHO_MINIMO_PACOTE); break; } } void atualizaEstadoRele(unsigned char estado){ APP_PARAMETERS.estadoRele = estado; APP_PARAMETERS.contadorCiclos++; if(!param.saveParameters()){ printf("[GGS] Erro gravando estado do rele\r\n"); } } unsigned char lerEstadoRele(){ return APP_PARAMETERS.estadoRele; } void respBuscarConcentrador(){ // if(!destBroadcast){ // printf("[GGS] Recebeu ACK do concentrador\r\n"); // if(((unsigned char *)&medidor)[0] != 0xff){ // Ja detectou algum medidor. Pode parar de enviar anuncios. // timeoutAnuncio.detach(); // } // } }