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:
tpadovani
Date:
Thu Oct 08 22:50:07 2015 +0000
Revision:
19:1f623070b9dd
Parent:
18:476f5723d860
Child:
20:da03c9e94ad3
Vers?o com comandos de leitura de PIMA ELO e Piminha, alarme de caixa e LEDs (ainda falta implementar LED de REDE e CARGA).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tpadovani 4:2d0c2643c641 1 #include "appCommands.h"
tpadovani 4:2d0c2643c641 2
tpadovani 10:7a1d1abb5172 3 void enviaRespostaGGS(char * dados, int tamanho){
tpadovani 4:2d0c2643c641 4 for(int i=0; i < tamanho; i++){
tpadovani 4:2d0c2643c641 5 ggsStream.putc(dados[i]);
tpadovani 4:2d0c2643c641 6 }
tpadovani 4:2d0c2643c641 7 }
tpadovani 4:2d0c2643c641 8
tpadovani 10:7a1d1abb5172 9 void executaComando(unsigned char tamanho, unsigned char sequencia, unsigned char tipo, char * dados){
tpadovani 4:2d0c2643c641 10 switch(tipo){
tpadovani 4:2d0c2643c641 11 case CMD_LER_VERSAO:
tpadovani 4:2d0c2643c641 12 cmdLerVersao();
tpadovani 4:2d0c2643c641 13 break;
tpadovani 5:1bc98277c257 14 case CMD_LER_NUM_SERIE:
tpadovani 4:2d0c2643c641 15 cmdLerNumeroSerie();
tpadovani 4:2d0c2643c641 16 break;
tpadovani 4:2d0c2643c641 17 case CMD_GRAVAR_NUM_SERIE:
tpadovani 5:1bc98277c257 18 cmdGravarNumeroSerie(dados, tamanho - TAMANHO_MINIMO_PACOTE);
tpadovani 5:1bc98277c257 19 exec.carregaEndereco(sn.get());
tpadovani 4:2d0c2643c641 20 break;
tpadovani 4:2d0c2643c641 21 case CMD_RESET:
tpadovani 4:2d0c2643c641 22 cmdReset();
tpadovani 4:2d0c2643c641 23 break;
tpadovani 4:2d0c2643c641 24 case CMD_CORTAR:
tpadovani 4:2d0c2643c641 25 cmdCortar();
tpadovani 4:2d0c2643c641 26 break;
tpadovani 4:2d0c2643c641 27 case CMD_RELIGAR:
tpadovani 4:2d0c2643c641 28 cmdReligar();
tpadovani 4:2d0c2643c641 29 break;
tpadovani 4:2d0c2643c641 30 case CMD_ESTADO_FORNECIMENTO:
tpadovani 4:2d0c2643c641 31 cmdEstadoFornecimento();
tpadovani 4:2d0c2643c641 32 break;
tpadovani 19:1f623070b9dd 33 case CMD_LER_ENERGIA_ATIVA:
tpadovani 19:1f623070b9dd 34 cmdLerEnergiaAtiva();
tpadovani 19:1f623070b9dd 35 break;
tpadovani 19:1f623070b9dd 36 case CMD_LER_ENERGIA_REATIVA_INDUTIVA:
tpadovani 19:1f623070b9dd 37 cmdLerEnergiaReativaIndutiva();
tpadovani 19:1f623070b9dd 38 break;
tpadovani 19:1f623070b9dd 39 case CMD_LER_ENERGIA_REATIVA_CAPACITIVA:
tpadovani 19:1f623070b9dd 40 cmdLerEnergiaReativaCapacitiva();
tpadovani 19:1f623070b9dd 41 break;
tpadovani 19:1f623070b9dd 42 case CMD_BUSCAR_MEDIDOR:
tpadovani 19:1f623070b9dd 43 cmdBuscarMedidor(dados, tamanho - TAMANHO_MINIMO_PACOTE);
tpadovani 19:1f623070b9dd 44 break;
tpadovani 19:1f623070b9dd 45 case CMD_BUSCAR_DENDRION:
tpadovani 19:1f623070b9dd 46 cmdBuscarDendrion();
tpadovani 19:1f623070b9dd 47 break;
tpadovani 19:1f623070b9dd 48 case RESP_BUSCAR_CONCENTRADOR:
tpadovani 19:1f623070b9dd 49 respBuscarConcentrador();
tpadovani 19:1f623070b9dd 50 break;
tpadovani 4:2d0c2643c641 51 case CMD_LER_PARAMETROS:
tpadovani 4:2d0c2643c641 52 cmdLerParametros();
tpadovani 4:2d0c2643c641 53 break;
tpadovani 4:2d0c2643c641 54 case CMD_CONFIGURAR_PARAMETROS:
tpadovani 5:1bc98277c257 55 cmdConfigurarParametros(dados, tamanho - TAMANHO_MINIMO_PACOTE);
tpadovani 5:1bc98277c257 56 break;
tpadovani 10:7a1d1abb5172 57 case CMD_LER_RELOGIO:
tpadovani 10:7a1d1abb5172 58 cmdLerRelogio();
tpadovani 10:7a1d1abb5172 59 break;
tpadovani 8:e8d86c66283c 60 case CMD_TENSAO_INSTANTANEA:
tpadovani 8:e8d86c66283c 61 cmdTensaoInstantanea(dados[0]);
tpadovani 8:e8d86c66283c 62 break;
tpadovani 10:7a1d1abb5172 63 case CMD_MM_TENSAO:
tpadovani 11:8c93e0de58cd 64 cmdMMTensao(dados[0], dados[1]);
tpadovani 10:7a1d1abb5172 65 break;
tpadovani 9:e501499af4ef 66 case CMD_DETECTA_CARGA:
tpadovani 9:e501499af4ef 67 cmdDetectaCarga();
tpadovani 9:e501499af4ef 68 break;
tpadovani 11:8c93e0de58cd 69 case CMD_LER_CICLOS_CORTE:
tpadovani 11:8c93e0de58cd 70 cmdLerCiclosCorte();
tpadovani 11:8c93e0de58cd 71 break;
leomrlima 18:476f5723d860 72 // case CMD_LER_PARAM_BLUETOOTH:
leomrlima 18:476f5723d860 73 // cmdLerParamBluetooth();
leomrlima 18:476f5723d860 74 // break;
leomrlima 18:476f5723d860 75 // case CMD_GRAVAR_PARAM_BLUETOOTH:
leomrlima 18:476f5723d860 76 // cmdGravarParamBluetooth(dados, tamanho - TAMANHO_MINIMO_PACOTE);
leomrlima 18:476f5723d860 77 // break;
leomrlima 18:476f5723d860 78 // case CMD_EXEC_CMD_BTM:
leomrlima 18:476f5723d860 79 // cmdExecCmdBtm(dados, tamanho - TAMANHO_MINIMO_PACOTE);
leomrlima 18:476f5723d860 80 // break;
tpadovani 13:eed9484a89bc 81 case CMD_LER_ALARMES:
tpadovani 14:4963dc299580 82 cmdLerAlarmes(dados[0]);
tpadovani 13:eed9484a89bc 83 break;
leomrlima 18:476f5723d860 84 case CMD_GRAVAR_RELOGIO:
leomrlima 18:476f5723d860 85 cmdGravarRelogio(dados, tamanho - TAMANHO_MINIMO_PACOTE);
leomrlima 18:476f5723d860 86 break;
tpadovani 4:2d0c2643c641 87 }
tpadovani 4:2d0c2643c641 88 }
tpadovani 5:1bc98277c257 89
tpadovani 5:1bc98277c257 90 void atualizaEstadoRele(unsigned char estado){
tpadovani 5:1bc98277c257 91 APP_PARAMETERS.estadoRele = estado;
tpadovani 11:8c93e0de58cd 92 APP_PARAMETERS.contadorCiclos++;
tpadovani 5:1bc98277c257 93 if(!param.saveParameters()){
tpadovani 5:1bc98277c257 94 printf("[GGS] Erro gravando estado do rele\r\n");
tpadovani 5:1bc98277c257 95 }
tpadovani 5:1bc98277c257 96 }
tpadovani 5:1bc98277c257 97
tpadovani 5:1bc98277c257 98 unsigned char lerEstadoRele(){
tpadovani 5:1bc98277c257 99 return APP_PARAMETERS.estadoRele;
tpadovani 5:1bc98277c257 100 }
tpadovani 19:1f623070b9dd 101
tpadovani 19:1f623070b9dd 102 void respBuscarConcentrador(){
tpadovani 19:1f623070b9dd 103 // if(!destBroadcast){
tpadovani 19:1f623070b9dd 104 // printf("[GGS] Recebeu ACK do concentrador\r\n");
tpadovani 19:1f623070b9dd 105 // if(((unsigned char *)&medidor)[0] != 0xff){ // Ja detectou algum medidor. Pode parar de enviar anuncios.
tpadovani 19:1f623070b9dd 106 // timeoutAnuncio.detach();
tpadovani 19:1f623070b9dd 107 // }
tpadovani 19:1f623070b9dd 108 // }
tpadovani 19:1f623070b9dd 109 }