Teste de Tela

Dependencies:   BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG mbed

Committer:
marcusncunha
Date:
Fri Dec 08 19:17:27 2017 +0000
Revision:
2:ae8636da1252
Parent:
1:c04c41de6eef
Projeto

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcusncunha 2:ae8636da1252 1 #if !FEATURE_LWIP
marcusncunha 2:ae8636da1252 2 #error [NOT_SUPPORTED] LWIP not supported for this target
marcusncunha 2:ae8636da1252 3 #endif
marcusncunha 2:ae8636da1252 4
marcusncunha 0:9b2b74c6af2f 5 #include "mbed.h"
marcusncunha 2:ae8636da1252 6 #include "image.h"
marcusncunha 2:ae8636da1252 7 #include "stdlib.h"
marcusncunha 2:ae8636da1252 8 #include "EthernetInterface.h"
marcusncunha 2:ae8636da1252 9 #include "TCPServer.h"
marcusncunha 2:ae8636da1252 10 #include "TCPSocket.h"
marcusncunha 2:ae8636da1252 11 #include "tela.h"
marcusncunha 2:ae8636da1252 12 #include "hardware.h"
marcusncunha 2:ae8636da1252 13 #include <string>
marcusncunha 2:ae8636da1252 14 //@Início includes do http-exampleNew
marcusncunha 2:ae8636da1252 15 #include "http_request.h"
marcusncunha 2:ae8636da1252 16 #include "mbed_stats.h"
marcusncunha 2:ae8636da1252 17 //@Início constantes
marcusncunha 2:ae8636da1252 18 const char* mbedIp = "192.168.0.130"; //IP
marcusncunha 2:ae8636da1252 19 const char* mbedMask = "255.255.255.0"; // Mask
marcusncunha 2:ae8636da1252 20 const char* mbedGateway = "192.168.0.1"; //Gateway
marcusncunha 2:ae8636da1252 21 //@Fim Pinos Globais
marcusncunha 0:9b2b74c6af2f 22
marcusncunha 2:ae8636da1252 23 //@Início Variáveis MBED
marcusncunha 2:ae8636da1252 24
marcusncunha 2:ae8636da1252 25
marcusncunha 0:9b2b74c6af2f 26 TS_DISCO_F746NG ts;
marcusncunha 0:9b2b74c6af2f 27 TS_StateTypeDef TS_State;
marcusncunha 2:ae8636da1252 28 LCD_DISCO_F746NG lcd;
marcusncunha 2:ae8636da1252 29 Serial pc(USBTX, USBRX); // tx, rx
marcusncunha 2:ae8636da1252 30 Thread thread;
marcusncunha 2:ae8636da1252 31 EthernetInterface eth;
marcusncunha 2:ae8636da1252 32 TCPServer srv;
marcusncunha 2:ae8636da1252 33 TCPSocket clt_sock;
marcusncunha 2:ae8636da1252 34 SocketAddress clt_addr;
marcusncunha 2:ae8636da1252 35 //@Fim Variáveis MBED
marcusncunha 2:ae8636da1252 36 //Funcoes de controle de tela
marcusncunha 2:ae8636da1252 37 void desenhaTelaInicial(void);
marcusncunha 2:ae8636da1252 38 //Funcoes CallBack
marcusncunha 2:ae8636da1252 39 void botaoSetVoltasTopo_callback(void);
marcusncunha 2:ae8636da1252 40 void botaoSetNumeroCantos_callback(void);
marcusncunha 2:ae8636da1252 41 void botaoSetAlturaCamada_callback(void);
marcusncunha 2:ae8636da1252 42 void botaoSetVoltasBase_callback(void);
marcusncunha 2:ae8636da1252 43 void botao0_callback(void);
marcusncunha 2:ae8636da1252 44 void botao1_callback(void);
marcusncunha 2:ae8636da1252 45 void botao2_callback(void);
marcusncunha 2:ae8636da1252 46 void botao3_callback(void);
marcusncunha 2:ae8636da1252 47 void botao4_callback(void);
marcusncunha 2:ae8636da1252 48 void botao5_callback(void);
marcusncunha 2:ae8636da1252 49 void botao6_callback(void);
marcusncunha 2:ae8636da1252 50 void botao7_callback(void);
marcusncunha 2:ae8636da1252 51 void botao8_callback(void);
marcusncunha 2:ae8636da1252 52 void botao9_callback(void);
marcusncunha 2:ae8636da1252 53 void botaoPonto_callback(void);
marcusncunha 2:ae8636da1252 54 void botaoBackspace_callback(void);
marcusncunha 2:ae8636da1252 55 void botaoSave_callback(void);
marcusncunha 2:ae8636da1252 56 void botaoErase_callback(void);
marcusncunha 2:ae8636da1252 57 void botaoBack_callback(void);
marcusncunha 2:ae8636da1252 58 void botaoResetCargaBateria_callback(void);
marcusncunha 2:ae8636da1252 59 void postValor(string campo, string valor);
marcusncunha 2:ae8636da1252 60 void postValores(string campo1, string valor1,string campo2, string valor2);
marcusncunha 2:ae8636da1252 61 void desenrola(int comando);
marcusncunha 2:ae8636da1252 62 void upDown(int comando);
marcusncunha 2:ae8636da1252 63 //@Início Variáveis Globais
marcusncunha 0:9b2b74c6af2f 64
marcusncunha 2:ae8636da1252 65 //Variáveis de controle
marcusncunha 2:ae8636da1252 66 //Guarda o estado do processo da tela inicial
marcusncunha 2:ae8636da1252 67 int status = 0;
marcusncunha 2:ae8636da1252 68 //Tela corrente
marcusncunha 2:ae8636da1252 69 int tela = 0;
marcusncunha 2:ae8636da1252 70 int comandoAnteriorUpDown = 0;
marcusncunha 2:ae8636da1252 71 int comandoAnteriorDesenrola = 0;
marcusncunha 2:ae8636da1252 72 bool atualizarTela = false;
marcusncunha 2:ae8636da1252 73 bool redeOnline = false;
marcusncunha 2:ae8636da1252 74 bool paginaOnline = false;
marcusncunha 2:ae8636da1252 75 bool telaRedeOnline = false;
marcusncunha 2:ae8636da1252 76 bool atualizarValores = true;
marcusncunha 2:ae8636da1252 77 bool mostrarValores = true;
marcusncunha 2:ae8636da1252 78 string estado = "0";
marcusncunha 2:ae8636da1252 79 string set_voltas_topo = "0";
marcusncunha 2:ae8636da1252 80 string set_numero_cantos = "0";
marcusncunha 2:ae8636da1252 81 string set_altura_camada = "0";
marcusncunha 2:ae8636da1252 82 string set_voltas_base = "0";
marcusncunha 2:ae8636da1252 83 string disp_num_cantos = "0";
marcusncunha 2:ae8636da1252 84 string disp_altura_camada = "0";
marcusncunha 2:ae8636da1252 85 string sobe_elevador = "0";
marcusncunha 2:ae8636da1252 86 string desce_elevador = "0";
marcusncunha 2:ae8636da1252 87 string reset_bateria = "0";
marcusncunha 2:ae8636da1252 88 string libera_filme = "0";
marcusncunha 2:ae8636da1252 89 string leitura = "";
marcusncunha 2:ae8636da1252 90 string valorTemporario = "";
marcusncunha 2:ae8636da1252 91 string cookie = "";
marcusncunha 2:ae8636da1252 92 //Estrutura das imagens (Tamanho e cor de fundo para Key)
marcusncunha 2:ae8636da1252 93 dadosImagem imgBotaoResetCargaBateria = {158, 12, 0xffffffff};
marcusncunha 2:ae8636da1252 94 dadosImagem imgBotaoResetCargaBateriaClk = {158, 12, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 95 dadosImagem imgBotaoBackspace = {24, 24, 0xffffffff};
marcusncunha 2:ae8636da1252 96 dadosImagem imgWarning = {24, 24, 0xffffffff};
marcusncunha 2:ae8636da1252 97 dadosImagem imgTxt0 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 98 dadosImagem imgTxt1 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 99 dadosImagem imgTxt2 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 100 dadosImagem imgTxt3 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 101 dadosImagem imgTxt4 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 102 dadosImagem imgTxt5 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 103 dadosImagem imgTxt6= {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 104 dadosImagem imgTxt7 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 105 dadosImagem imgTxt8 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 106 dadosImagem imgTxt9 = {16, 23, 0xffffffff};
marcusncunha 2:ae8636da1252 107 dadosImagem imgTxtPonto = {8, 7, 0xffffffff};
marcusncunha 2:ae8636da1252 108 dadosImagem imgBotaoBackspaceClk = {24, 24, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 109 dadosImagem imgBotaoSave = {24, 24, 0xffffffff};
marcusncunha 2:ae8636da1252 110 dadosImagem imgBotaoErase = {24, 24, 0xffffffff};
marcusncunha 2:ae8636da1252 111 dadosImagem imgBotaoBack = {24, 24, 0xffffffff};
marcusncunha 2:ae8636da1252 112 dadosImagem imgBotaoDesenrolar = {32, 32, 0xffffffff};
marcusncunha 2:ae8636da1252 113 dadosImagem imgBotaoUp = {24, 32, 0xffffffff};
marcusncunha 2:ae8636da1252 114 dadosImagem imgBotaoDown = {24, 32, 0xffffffff};
marcusncunha 2:ae8636da1252 115 dadosImagem imgTxt0Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 116 dadosImagem imgTxt1Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 117 dadosImagem imgTxt2Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 118 dadosImagem imgTxt3Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 119 dadosImagem imgTxt4Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 120 dadosImagem imgTxt5Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 121 dadosImagem imgTxt6Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 122 dadosImagem imgTxt7Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 123 dadosImagem imgTxt8Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 124 dadosImagem imgTxt9Clk = {16, 23, 0xff1c7d5a};
marcusncunha 2:ae8636da1252 125 dadosImagem imgTxtPontoClk = {8, 7, 0xff1c7d5a};
marcusncunha 0:9b2b74c6af2f 126
marcusncunha 2:ae8636da1252 127
marcusncunha 2:ae8636da1252 128 //Estrutura da área de Mensagem(Localização e tamanho)
marcusncunha 0:9b2b74c6af2f 129
marcusncunha 2:ae8636da1252 130 //Estrutura dos botões(Localização e tamanho)
marcusncunha 2:ae8636da1252 131 dadosRetanguloBase baseBotaoResetCargaBateria = { 120, 210, 230, 40};
marcusncunha 2:ae8636da1252 132 dadosRetanguloBase baseBotaoSetVoltasTopo = { 20, 60, 90, 30};
marcusncunha 2:ae8636da1252 133 dadosRetanguloBase baseBotaoSetNumeroCantos = { 20, 95, 90, 30};
marcusncunha 2:ae8636da1252 134 dadosRetanguloBase baseBotaoSetAlturaCamada = { 20, 130, 90, 30};
marcusncunha 2:ae8636da1252 135 dadosRetanguloBase baseBotaoSetVoltasBase = { 20, 165, 90, 30};
marcusncunha 2:ae8636da1252 136 dadosRetanguloBase baseBotaoSave = {381, 171, 79, 79};
marcusncunha 2:ae8636da1252 137 dadosRetanguloBase baseBotaoDown = {381, 111, 79, 39};
marcusncunha 2:ae8636da1252 138 dadosRetanguloBase baseBotaoBack = {381, 61, 79, 39};
marcusncunha 2:ae8636da1252 139 dadosRetanguloBase baseBotaoBackPrincipal = {381, 61, 79, 39};
marcusncunha 2:ae8636da1252 140 dadosRetanguloBase baseBotao1 = { 26, 206, 75, 42};
marcusncunha 2:ae8636da1252 141 dadosRetanguloBase baseBotao2 = { 107, 206, 75, 42};
marcusncunha 2:ae8636da1252 142 dadosRetanguloBase baseBotao3 = { 189, 206, 75, 42};
marcusncunha 2:ae8636da1252 143 dadosRetanguloBase baseBotao0 = { 270, 206, 75, 42};
marcusncunha 2:ae8636da1252 144 dadosRetanguloBase baseBotao4 = { 26, 156, 75, 44};
marcusncunha 2:ae8636da1252 145 dadosRetanguloBase baseBotao5 = { 107, 156, 75, 44};
marcusncunha 2:ae8636da1252 146 dadosRetanguloBase baseBotao6 = { 189, 156, 75, 44};
marcusncunha 2:ae8636da1252 147 dadosRetanguloBase baseBotaoPonto = { 270, 156, 75, 44};
marcusncunha 2:ae8636da1252 148 dadosRetanguloBase baseBotao7 = { 26, 106, 75, 44};
marcusncunha 2:ae8636da1252 149 dadosRetanguloBase baseBotao8 = { 107, 106, 75, 44};
marcusncunha 2:ae8636da1252 150 dadosRetanguloBase baseBotao9 = { 189, 106, 75, 44};
marcusncunha 2:ae8636da1252 151 //dadosRetanguloBase baseBotaoVoltarTelaInicial = { 270, 106, 75, 44};
marcusncunha 2:ae8636da1252 152 dadosRetanguloBase baseBotaoBackspace = { 270, 106, 75, 44};
marcusncunha 2:ae8636da1252 153 //Declaração das Variáveis Botão
marcusncunha 2:ae8636da1252 154 botao botaoResetCargaBateria = {baseBotaoResetCargaBateria, 0, 0};
marcusncunha 2:ae8636da1252 155 botao botaoSetVoltasTopo = {baseBotaoSetVoltasTopo, 0, 0};
marcusncunha 2:ae8636da1252 156 botao botaoSetNumeroCantos = {baseBotaoSetNumeroCantos, 0, 0};
marcusncunha 2:ae8636da1252 157 botao botaoSetAlturaCamada = {baseBotaoSetAlturaCamada, 0, 0};
marcusncunha 2:ae8636da1252 158 botao botaoSetVoltasBase = {baseBotaoSetVoltasBase, 0, 0};
marcusncunha 2:ae8636da1252 159 botao botao0 = {baseBotao0, 0, 0};
marcusncunha 2:ae8636da1252 160 botao botao1 = {baseBotao1, 0, 0};
marcusncunha 2:ae8636da1252 161 botao botao2 = {baseBotao2, 0, 0};
marcusncunha 2:ae8636da1252 162 botao botao3 = {baseBotao3, 0, 0};
marcusncunha 2:ae8636da1252 163 botao botao4 = {baseBotao4, 0, 0};
marcusncunha 2:ae8636da1252 164 botao botao5 = {baseBotao5, 0, 0};
marcusncunha 2:ae8636da1252 165 botao botao6 = {baseBotao6, 0, 0};
marcusncunha 2:ae8636da1252 166 botao botao7 = {baseBotao7, 0, 0};
marcusncunha 2:ae8636da1252 167 botao botao8 = {baseBotao8, 0, 0};
marcusncunha 2:ae8636da1252 168 botao botao9 = {baseBotao9, 0, 0};
marcusncunha 2:ae8636da1252 169 botao botaoPonto = {baseBotaoPonto, 0, 0};
marcusncunha 2:ae8636da1252 170 botao botaoSave = {baseBotaoSave, 0, 0};
marcusncunha 2:ae8636da1252 171 botao botaoDesenrolar = {baseBotaoSave, 0, 0};
marcusncunha 2:ae8636da1252 172 botao botaoDown = {baseBotaoDown, 0, 0};
marcusncunha 2:ae8636da1252 173 botao botaoUp = {baseBotaoBackPrincipal, 0, 0};
marcusncunha 2:ae8636da1252 174 botao botaoBackPrincipal = {baseBotaoBackPrincipal, 0, 0};
marcusncunha 2:ae8636da1252 175 //botao botaoVoltarTelaInicial = {baseBotaoVoltarTelaInicial, 0, 0};
marcusncunha 2:ae8636da1252 176 botao botaoBackspace = {baseBotaoBackspace, 0, 0};
marcusncunha 2:ae8636da1252 177 botao botaoBack = {baseBotaoBack, 0, 0};
marcusncunha 0:9b2b74c6af2f 178
marcusncunha 2:ae8636da1252 179 void resetTela(){
marcusncunha 2:ae8636da1252 180 tela = 0;
marcusncunha 2:ae8636da1252 181 lcd.Clear(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 182 }
marcusncunha 2:ae8636da1252 183 void limparCampoValor(){
marcusncunha 2:ae8636da1252 184 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 185 lcd.FillRect(171, 61, 179, 29);
marcusncunha 2:ae8636da1252 186 }
marcusncunha 0:9b2b74c6af2f 187
marcusncunha 2:ae8636da1252 188 void desenhaTeclado(int opcao){
marcusncunha 2:ae8636da1252 189 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 190 lcd.FillRect(10, 50, 350, 212);
marcusncunha 2:ae8636da1252 191 lcd.FillRect(370, 50, 100, 212);
marcusncunha 2:ae8636da1252 192 lcd.SetTextColor((uint32_t)0xFFEBE7DE);
marcusncunha 2:ae8636da1252 193 lcd.FillRect(20, 100, 330, 152);
marcusncunha 2:ae8636da1252 194 lcd.SetTextColor((uint32_t)0xFFDED8CC);
marcusncunha 2:ae8636da1252 195 lcd.DrawRect(170, 60, 180, 30);
marcusncunha 2:ae8636da1252 196 lcd.DrawRect(380, 60, 80, 40);
marcusncunha 2:ae8636da1252 197 lcd.DrawRect(380, 170, 80, 80);
marcusncunha 2:ae8636da1252 198 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 199 lcd.FillRect(25, 105, 76, 45);
marcusncunha 2:ae8636da1252 200 lcd.FillRect(106, 105, 76, 45);
marcusncunha 2:ae8636da1252 201 lcd.FillRect(188, 105, 76, 45);
marcusncunha 2:ae8636da1252 202 lcd.FillRect(269, 105, 76, 45);
marcusncunha 2:ae8636da1252 203 lcd.FillRect(25, 155, 76, 45);
marcusncunha 2:ae8636da1252 204 lcd.FillRect(106, 155, 76, 45);
marcusncunha 2:ae8636da1252 205 lcd.FillRect(188, 155, 76, 45);
marcusncunha 2:ae8636da1252 206 lcd.FillRect(269, 155, 76, 45);
marcusncunha 2:ae8636da1252 207 lcd.FillRect(25, 205, 76, 43);
marcusncunha 2:ae8636da1252 208 lcd.FillRect(106, 205, 76, 43);
marcusncunha 2:ae8636da1252 209 lcd.FillRect(188, 205, 76, 43);
marcusncunha 2:ae8636da1252 210 lcd.FillRect(269, 205, 76, 43);
marcusncunha 2:ae8636da1252 211 desenhaBotaoComImagem (TXT0, imgTxt0, LCD_COLOR_WHITE, &botao0);
marcusncunha 2:ae8636da1252 212 desenhaBotaoComImagem (TXT1, imgTxt1, LCD_COLOR_WHITE, &botao1);
marcusncunha 2:ae8636da1252 213 desenhaBotaoComImagem (TXT2, imgTxt2, LCD_COLOR_WHITE, &botao2);
marcusncunha 2:ae8636da1252 214 desenhaBotaoComImagem (TXT3, imgTxt3, LCD_COLOR_WHITE, &botao3);
marcusncunha 2:ae8636da1252 215 desenhaBotaoComImagem (TXT4, imgTxt4, LCD_COLOR_WHITE, &botao4);
marcusncunha 2:ae8636da1252 216 desenhaBotaoComImagem (TXT5, imgTxt5, LCD_COLOR_WHITE, &botao5);
marcusncunha 2:ae8636da1252 217 desenhaBotaoComImagem (TXT6, imgTxt6, LCD_COLOR_WHITE, &botao6);
marcusncunha 2:ae8636da1252 218 desenhaBotaoComImagem (TXT7, imgTxt7, LCD_COLOR_WHITE, &botao7);
marcusncunha 2:ae8636da1252 219 desenhaBotaoComImagem (TXT8, imgTxt8, LCD_COLOR_WHITE, &botao8);
marcusncunha 2:ae8636da1252 220 desenhaBotaoComImagem (TXT9, imgTxt9, LCD_COLOR_WHITE, &botao9);
marcusncunha 2:ae8636da1252 221 desenhaBotaoComImagem (TXTPONTO, imgTxtPonto, LCD_COLOR_WHITE, &botaoPonto);
marcusncunha 2:ae8636da1252 222 desenhaBotaoComImagem (IMGBACKSPACE, imgBotaoBackspace, LCD_COLOR_WHITE, &botaoBackspace);
marcusncunha 2:ae8636da1252 223 desenhaBotaoComImagem (IMGSAVE, imgBotaoSave, LCD_COLOR_WHITE, &botaoSave);
marcusncunha 2:ae8636da1252 224 desenhaBotaoComImagem (IMGBACK, imgBotaoBack, LCD_COLOR_WHITE, &botaoBack);
marcusncunha 2:ae8636da1252 225 switch (opcao){
marcusncunha 2:ae8636da1252 226 case 1:
marcusncunha 2:ae8636da1252 227 desenharImagem(TXTVOLTASTOPO, 109,17, 20,70);
marcusncunha 2:ae8636da1252 228 lcd.SetTextColor(LCD_COLOR_BLACK);
marcusncunha 2:ae8636da1252 229 break;
marcusncunha 2:ae8636da1252 230 case 2:
marcusncunha 2:ae8636da1252 231 desenharImagem(TXTNUMEROCANTOS, 134,14, 20,70);
marcusncunha 2:ae8636da1252 232 lcd.SetTextColor(LCD_COLOR_BLACK);
marcusncunha 2:ae8636da1252 233 break;
marcusncunha 2:ae8636da1252 234 case 3:
marcusncunha 2:ae8636da1252 235 desenharImagem(TXTALTURACAMADA, 130,14, 20,70);
marcusncunha 2:ae8636da1252 236 lcd.SetTextColor(LCD_COLOR_BLACK);
marcusncunha 2:ae8636da1252 237 break;
marcusncunha 2:ae8636da1252 238 case 4:
marcusncunha 2:ae8636da1252 239 desenharImagem(TXTVOLTASBASE, 110,14, 20,70);
marcusncunha 2:ae8636da1252 240 lcd.SetTextColor(LCD_COLOR_BLACK);
marcusncunha 2:ae8636da1252 241 break;
marcusncunha 2:ae8636da1252 242 }
marcusncunha 2:ae8636da1252 243 }
marcusncunha 0:9b2b74c6af2f 244
marcusncunha 2:ae8636da1252 245 void desenhaTelaInicial(){
marcusncunha 2:ae8636da1252 246 lcd.Clear((uint32_t)0xFFEBE7DE);
marcusncunha 2:ae8636da1252 247 lcd.SetTextColor((uint32_t)0xFF1C7D5A);
marcusncunha 2:ae8636da1252 248 lcd.FillRect(0, 0, 480, 40);
marcusncunha 2:ae8636da1252 249 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 250 lcd.FillRect(10, 50, 350, 212);
marcusncunha 2:ae8636da1252 251 lcd.FillRect(370, 50, 100, 212);
marcusncunha 2:ae8636da1252 252 lcd.SetTextColor((uint32_t)0xFFDED8CC);
marcusncunha 2:ae8636da1252 253 desenharImagem(TXTVOLTASTOPO, 109,17, 120,70);
marcusncunha 2:ae8636da1252 254 desenharImagem(TXTNUMEROCANTOS, 134,14, 120,105);
marcusncunha 2:ae8636da1252 255 desenharImagem(TXTALTURACAMADA, 130,14, 120,140);
marcusncunha 2:ae8636da1252 256 desenharImagem(TXTVOLTASBASE, 110,14, 120,175);
marcusncunha 2:ae8636da1252 257 desenharImagem(IMGBATTERY, 32,32, 20,215);
marcusncunha 2:ae8636da1252 258 desenharImagem(LOGOINT, 102,20, 10,10);
marcusncunha 2:ae8636da1252 259 lcd.SetTextColor((uint32_t)0xFFDED8CC);
marcusncunha 2:ae8636da1252 260 lcd.DrawRect(20, 60, 90, 30);
marcusncunha 2:ae8636da1252 261 lcd.DrawRect(20, 95, 90, 30);
marcusncunha 2:ae8636da1252 262 lcd.DrawRect(260, 95, 90, 30);
marcusncunha 2:ae8636da1252 263 lcd.DrawRect(20, 130, 90, 30);
marcusncunha 2:ae8636da1252 264 lcd.DrawRect(260, 130, 90, 30);
marcusncunha 2:ae8636da1252 265 lcd.DrawRect(20, 165, 90, 30);
marcusncunha 2:ae8636da1252 266 lcd.DrawRect(119, 209, 231, 41);
marcusncunha 2:ae8636da1252 267 lcd.DrawCircle(70,235,10);
marcusncunha 2:ae8636da1252 268 lcd.DrawRect(380, 60, 80, 40);
marcusncunha 2:ae8636da1252 269 lcd.DrawRect(380, 110, 80, 40);
marcusncunha 2:ae8636da1252 270 lcd.DrawRect(380, 170, 80, 80);
marcusncunha 2:ae8636da1252 271 desenhaBotaoComImagem (BTNRESETBATERIA, imgBotaoResetCargaBateria, LCD_COLOR_WHITE, &botaoResetCargaBateria);
marcusncunha 2:ae8636da1252 272 desenhaBotaoComImagem (IMGDESENROLAR, imgBotaoDesenrolar, LCD_COLOR_WHITE, &botaoSave);
marcusncunha 2:ae8636da1252 273 desenhaBotaoComImagem (IMGUP, imgBotaoUp, LCD_COLOR_WHITE, &botaoUp);
marcusncunha 2:ae8636da1252 274 desenhaBotaoComImagem (IMGDOWN, imgBotaoDown, LCD_COLOR_WHITE, &botaoDown);
marcusncunha 2:ae8636da1252 275 lcd.SetFont(&Font12);
marcusncunha 2:ae8636da1252 276 lcd.SetTextColor((uint32_t)0xFFDED8CC);
marcusncunha 2:ae8636da1252 277 lcd.SetBackColor((uint32_t)0xFF1C7D5A);
marcusncunha 2:ae8636da1252 278 lcd.DisplayStringAt(40, 15, (uint8_t *) eth.get_ip_address(), RIGHT_MODE);
marcusncunha 2:ae8636da1252 279 if (redeOnline){
marcusncunha 2:ae8636da1252 280 desenharImagem(IMGREDEON, 24,24, 440,10);
marcusncunha 2:ae8636da1252 281 }
marcusncunha 2:ae8636da1252 282 else{
marcusncunha 2:ae8636da1252 283 desenharImagem(IMGREDEOFF, 24,24, 440,10);
marcusncunha 2:ae8636da1252 284 }
marcusncunha 2:ae8636da1252 285 }
marcusncunha 2:ae8636da1252 286 void comandosPrincipal(){
marcusncunha 2:ae8636da1252 287 iniciarBotaoArea(&botaoSetVoltasTopo, &TS_State);
marcusncunha 2:ae8636da1252 288 iniciarBotaoArea(&botaoSetNumeroCantos, &TS_State);
marcusncunha 2:ae8636da1252 289 iniciarBotaoArea(&botaoSetAlturaCamada, &TS_State);
marcusncunha 2:ae8636da1252 290 iniciarBotaoArea(&botaoSetVoltasBase, &TS_State);
marcusncunha 2:ae8636da1252 291 iniciarBotaoComImagem(IMGUP, imgBotaoUp, 0xffffffff, 0xff1c7d5a, &botaoUp, &TS_State);
marcusncunha 2:ae8636da1252 292 iniciarBotaoComImagem(IMGDOWN, imgBotaoDown, 0xffffffff, 0xff1c7d5a, &botaoDown, &TS_State);
marcusncunha 2:ae8636da1252 293 iniciarBotaoComImagem(IMGDESENROLAR, imgBotaoDesenrolar, 0xffffffff, 0xff1c7d5a, &botaoDesenrolar, &TS_State);
marcusncunha 2:ae8636da1252 294 iniciarBotaoComImagemClick(BTNRESETBATERIA,BTNRESETBATERIACLK, imgBotaoResetCargaBateria, imgBotaoResetCargaBateriaClk, 0xffffffff, 0xff1c7d5a, &botaoResetCargaBateria, &TS_State);
marcusncunha 2:ae8636da1252 295 if(reset_bateria == "1"){
marcusncunha 2:ae8636da1252 296 lcd.SetTextColor((uint32_t)0xFF1C7D5A);
marcusncunha 2:ae8636da1252 297 lcd.SetBackColor((uint32_t)0xFF1C7D5A);
marcusncunha 2:ae8636da1252 298 lcd.FillCircle(70, 235, 7);
marcusncunha 2:ae8636da1252 299 }
marcusncunha 2:ae8636da1252 300 else{
marcusncunha 2:ae8636da1252 301 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 302 lcd.SetBackColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 303 lcd.FillCircle(70, 235, 7);
marcusncunha 0:9b2b74c6af2f 304 }
marcusncunha 0:9b2b74c6af2f 305
marcusncunha 2:ae8636da1252 306 if(botaoUp.isPressed){
marcusncunha 2:ae8636da1252 307 upDown(1);
marcusncunha 2:ae8636da1252 308 }else if(botaoDown.isPressed){
marcusncunha 2:ae8636da1252 309 upDown(2);
marcusncunha 2:ae8636da1252 310 }else{
marcusncunha 2:ae8636da1252 311 upDown(0);
marcusncunha 2:ae8636da1252 312 }
marcusncunha 2:ae8636da1252 313 if(botaoDesenrolar.isPressed){
marcusncunha 2:ae8636da1252 314 desenrola(1);
marcusncunha 2:ae8636da1252 315 }
marcusncunha 2:ae8636da1252 316 else{
marcusncunha 2:ae8636da1252 317 desenrola(0);
marcusncunha 2:ae8636da1252 318 }
marcusncunha 2:ae8636da1252 319
marcusncunha 2:ae8636da1252 320 if(botaoSetVoltasTopo.updateFlag){
marcusncunha 2:ae8636da1252 321 botaoSetVoltasTopo_callback();
marcusncunha 2:ae8636da1252 322 }
marcusncunha 2:ae8636da1252 323 if(botaoSetNumeroCantos.updateFlag){
marcusncunha 2:ae8636da1252 324 botaoSetNumeroCantos_callback();
marcusncunha 0:9b2b74c6af2f 325 }
marcusncunha 2:ae8636da1252 326 if(botaoSetAlturaCamada.updateFlag){
marcusncunha 2:ae8636da1252 327 botaoSetAlturaCamada_callback();
marcusncunha 2:ae8636da1252 328 }
marcusncunha 2:ae8636da1252 329 if(botaoSetVoltasBase.updateFlag){
marcusncunha 2:ae8636da1252 330 botaoSetVoltasBase_callback();
marcusncunha 2:ae8636da1252 331 }
marcusncunha 2:ae8636da1252 332 if(botaoResetCargaBateria.updateFlag){
marcusncunha 2:ae8636da1252 333 botaoResetCargaBateria_callback();
marcusncunha 2:ae8636da1252 334 }
marcusncunha 2:ae8636da1252 335 if (redeOnline && !telaRedeOnline && paginaOnline){
marcusncunha 2:ae8636da1252 336 desenharImagem(IMGREDEON, 24,24, 440,10);
marcusncunha 2:ae8636da1252 337 telaRedeOnline = true;
marcusncunha 2:ae8636da1252 338 }
marcusncunha 2:ae8636da1252 339 else if (redeOnline && !telaRedeOnline && !paginaOnline){
marcusncunha 2:ae8636da1252 340 desenharImagem(IMGWARNING, 24,24, 440,10);
marcusncunha 2:ae8636da1252 341 telaRedeOnline = true;
marcusncunha 2:ae8636da1252 342 }
marcusncunha 2:ae8636da1252 343 else if (!redeOnline && telaRedeOnline){
marcusncunha 2:ae8636da1252 344 desenharImagem(IMGREDEOFF, 24,24, 440,10);
marcusncunha 2:ae8636da1252 345 telaRedeOnline = false;
marcusncunha 2:ae8636da1252 346 }
marcusncunha 2:ae8636da1252 347 lcd.SetFont(&Font24);
marcusncunha 2:ae8636da1252 348 lcd.SetTextColor((uint32_t)0xFFDED8CC);
marcusncunha 2:ae8636da1252 349 lcd.SetBackColor((uint32_t)0xFF1C7D5A);
marcusncunha 0:9b2b74c6af2f 350
marcusncunha 2:ae8636da1252 351 if(mostrarValores){
marcusncunha 2:ae8636da1252 352 lcd.SetFont(&Font20);
marcusncunha 2:ae8636da1252 353 lcd.SetTextColor(LCD_COLOR_BLACK);
marcusncunha 2:ae8636da1252 354 lcd.SetBackColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 355 lcd.DisplayStringAt(370, 70, (uint8_t *) set_voltas_topo.c_str(), RIGHT_MODE);
marcusncunha 2:ae8636da1252 356 lcd.DisplayStringAt(370, 105, (uint8_t *) set_numero_cantos.c_str(), RIGHT_MODE);
marcusncunha 2:ae8636da1252 357 //lcd.DisplayStringAt(130, 105, (uint8_t *) disp_num_cantos.c_str(), RIGHT_MODE);
marcusncunha 2:ae8636da1252 358 lcd.DisplayStringAt(370, 140, (uint8_t *) set_altura_camada.c_str(), RIGHT_MODE);
marcusncunha 2:ae8636da1252 359 //lcd.DisplayStringAt(130, 140, (uint8_t *) disp_altura_camada.c_str(), RIGHT_MODE);
marcusncunha 2:ae8636da1252 360 lcd.DisplayStringAt(370, 175, (uint8_t *) set_voltas_base.c_str(), RIGHT_MODE);
marcusncunha 2:ae8636da1252 361 mostrarValores = false;
marcusncunha 2:ae8636da1252 362 }
marcusncunha 2:ae8636da1252 363 }
marcusncunha 2:ae8636da1252 364
marcusncunha 2:ae8636da1252 365 void comandosTeclado(){
marcusncunha 2:ae8636da1252 366 iniciarBotaoComImagemClick(TXT0,TXT0CLK, imgTxt0, imgTxt0Clk, 0xffffffff, 0xff1c7d5a, &botao0, &TS_State);
marcusncunha 2:ae8636da1252 367 iniciarBotaoComImagemClick(TXT1,TXT1CLK, imgTxt1, imgTxt1Clk, 0xffffffff, 0xff1c7d5a, &botao1, &TS_State);
marcusncunha 2:ae8636da1252 368 iniciarBotaoComImagemClick(TXT2,TXT2CLK, imgTxt2, imgTxt2Clk, 0xffffffff, 0xff1c7d5a, &botao2, &TS_State);
marcusncunha 2:ae8636da1252 369 iniciarBotaoComImagemClick(TXT3,TXT3CLK, imgTxt3, imgTxt3Clk, 0xffffffff, 0xff1c7d5a, &botao3, &TS_State);
marcusncunha 2:ae8636da1252 370 iniciarBotaoComImagemClick(TXT4,TXT4CLK, imgTxt4, imgTxt4Clk, 0xffffffff, 0xff1c7d5a, &botao4, &TS_State);
marcusncunha 2:ae8636da1252 371 iniciarBotaoComImagemClick(TXT5,TXT5CLK, imgTxt5, imgTxt5Clk, 0xffffffff, 0xff1c7d5a, &botao5, &TS_State);
marcusncunha 2:ae8636da1252 372 iniciarBotaoComImagemClick(TXT6,TXT6CLK, imgTxt6, imgTxt6Clk, 0xffffffff, 0xff1c7d5a, &botao6, &TS_State);
marcusncunha 2:ae8636da1252 373 iniciarBotaoComImagemClick(TXT7,TXT7CLK, imgTxt7, imgTxt7Clk, 0xffffffff, 0xff1c7d5a, &botao7, &TS_State);
marcusncunha 2:ae8636da1252 374 iniciarBotaoComImagemClick(TXT8,TXT8CLK, imgTxt8, imgTxt8Clk, 0xffffffff, 0xff1c7d5a, &botao8, &TS_State);
marcusncunha 2:ae8636da1252 375 iniciarBotaoComImagemClick(TXT9,TXT9CLK, imgTxt9, imgTxt9Clk, 0xffffffff, 0xff1c7d5a, &botao9, &TS_State);
marcusncunha 2:ae8636da1252 376 iniciarBotaoComImagemClick(TXTPONTO,TXTPONTOCLK, imgTxtPonto, imgTxtPontoClk, 0xffffffff, 0xff1c7d5a, &botaoPonto, &TS_State);
marcusncunha 2:ae8636da1252 377 iniciarBotaoComImagemClick(IMGBACKSPACE,IMGBACKSPACECLK, imgBotaoBackspace, imgBotaoBackspaceClk, 0xffffffff, 0xff1c7d5a, &botaoBackspace, &TS_State);
marcusncunha 2:ae8636da1252 378 iniciarBotaoComImagem(IMGSAVE, imgBotaoSave, 0xffffffff, 0xff1c7d5a, &botaoSave, &TS_State);
marcusncunha 2:ae8636da1252 379 iniciarBotaoComImagem(IMGBACK, imgBotaoBack, 0xffffffff, 0xff1c7d5a, &botaoBack, &TS_State);
marcusncunha 2:ae8636da1252 380 lcd.SetFont(&Font20);
marcusncunha 2:ae8636da1252 381 lcd.SetBackColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 382 lcd.SetTextColor(LCD_COLOR_BLACK);
marcusncunha 2:ae8636da1252 383 lcd.DisplayStringAt(130, 70, (uint8_t *) valorTemporario.c_str(), RIGHT_MODE);
marcusncunha 2:ae8636da1252 384 if(botao0.updateFlag){
marcusncunha 2:ae8636da1252 385 botao0_callback();
marcusncunha 2:ae8636da1252 386 }
marcusncunha 2:ae8636da1252 387 if(botao1.updateFlag){
marcusncunha 2:ae8636da1252 388 botao1_callback();
marcusncunha 2:ae8636da1252 389 }
marcusncunha 2:ae8636da1252 390 if(botao2.updateFlag){
marcusncunha 2:ae8636da1252 391 botao2_callback();
marcusncunha 2:ae8636da1252 392 }
marcusncunha 2:ae8636da1252 393 if(botao3.updateFlag){
marcusncunha 2:ae8636da1252 394 botao3_callback();
marcusncunha 2:ae8636da1252 395 }
marcusncunha 2:ae8636da1252 396 if(botao4.updateFlag){
marcusncunha 2:ae8636da1252 397 botao4_callback();
marcusncunha 2:ae8636da1252 398 }
marcusncunha 2:ae8636da1252 399 if(botao5.updateFlag){
marcusncunha 2:ae8636da1252 400 botao5_callback();
marcusncunha 2:ae8636da1252 401 }
marcusncunha 2:ae8636da1252 402 if(botao6.updateFlag){
marcusncunha 2:ae8636da1252 403 botao6_callback();
marcusncunha 2:ae8636da1252 404 }
marcusncunha 2:ae8636da1252 405 if(botao7.updateFlag){
marcusncunha 2:ae8636da1252 406 botao7_callback();
marcusncunha 2:ae8636da1252 407 }
marcusncunha 2:ae8636da1252 408 if(botao8.updateFlag){
marcusncunha 2:ae8636da1252 409 botao8_callback();
marcusncunha 2:ae8636da1252 410 }
marcusncunha 2:ae8636da1252 411 if(botao9.updateFlag){
marcusncunha 2:ae8636da1252 412 botao9_callback();
marcusncunha 2:ae8636da1252 413 }
marcusncunha 2:ae8636da1252 414 if(botaoPonto.updateFlag){
marcusncunha 2:ae8636da1252 415 botaoPonto_callback();
marcusncunha 2:ae8636da1252 416 }
marcusncunha 2:ae8636da1252 417 if(botaoBackspace.updateFlag){
marcusncunha 2:ae8636da1252 418 botaoBackspace_callback();
marcusncunha 2:ae8636da1252 419 }
marcusncunha 2:ae8636da1252 420 if(botaoSave.updateFlag){
marcusncunha 2:ae8636da1252 421 botaoSave_callback();
marcusncunha 2:ae8636da1252 422 }
marcusncunha 2:ae8636da1252 423 if(botaoBack.updateFlag){
marcusncunha 2:ae8636da1252 424 botaoBack_callback();
marcusncunha 2:ae8636da1252 425 }
marcusncunha 2:ae8636da1252 426 }
marcusncunha 2:ae8636da1252 427 void upDown(int comando){
marcusncunha 2:ae8636da1252 428 if(comando != comandoAnteriorUpDown){
marcusncunha 2:ae8636da1252 429 switch(comando){
marcusncunha 2:ae8636da1252 430 case 1:
marcusncunha 2:ae8636da1252 431 postValor("sobe_elevador","1");
marcusncunha 2:ae8636da1252 432 pc.printf("Sobe\r\n");
marcusncunha 2:ae8636da1252 433 comandoAnteriorUpDown = 1;
marcusncunha 2:ae8636da1252 434 break;
marcusncunha 2:ae8636da1252 435 case 2:
marcusncunha 2:ae8636da1252 436 postValor("desce_elevador","1");
marcusncunha 2:ae8636da1252 437 pc.printf("Desce\r\n");
marcusncunha 2:ae8636da1252 438 comandoAnteriorUpDown = 2;
marcusncunha 2:ae8636da1252 439 break;
marcusncunha 2:ae8636da1252 440 default:
marcusncunha 2:ae8636da1252 441 postValores("sobe_elevador","0","desce_elevador","0");
marcusncunha 2:ae8636da1252 442 pc.printf("Parado\r\n");
marcusncunha 2:ae8636da1252 443 comandoAnteriorUpDown = 0;
marcusncunha 2:ae8636da1252 444 break;
marcusncunha 0:9b2b74c6af2f 445 }
marcusncunha 0:9b2b74c6af2f 446 }
marcusncunha 0:9b2b74c6af2f 447 }
marcusncunha 0:9b2b74c6af2f 448
marcusncunha 2:ae8636da1252 449 void desenrola(int comando){
marcusncunha 2:ae8636da1252 450 if(comando != comandoAnteriorDesenrola){
marcusncunha 2:ae8636da1252 451 switch(comando){
marcusncunha 2:ae8636da1252 452 case 1:
marcusncunha 2:ae8636da1252 453 postValor("libera_filme","1");
marcusncunha 2:ae8636da1252 454 pc.printf("Desenrola\r\n");
marcusncunha 2:ae8636da1252 455 comandoAnteriorDesenrola = 1;
marcusncunha 2:ae8636da1252 456 break;
marcusncunha 2:ae8636da1252 457 default:
marcusncunha 2:ae8636da1252 458 postValor("libera_filme","0");
marcusncunha 2:ae8636da1252 459 pc.printf("Parado Rolo\r\n");
marcusncunha 2:ae8636da1252 460 comandoAnteriorDesenrola = 0;
marcusncunha 2:ae8636da1252 461 break;
marcusncunha 2:ae8636da1252 462 }
marcusncunha 2:ae8636da1252 463 }
marcusncunha 2:ae8636da1252 464 }
marcusncunha 2:ae8636da1252 465
marcusncunha 2:ae8636da1252 466 void led2_thread() {
marcusncunha 2:ae8636da1252 467 while (true) {
marcusncunha 2:ae8636da1252 468 //Habilita a leitura do touch de tela
marcusncunha 2:ae8636da1252 469 ts.ResetTouchData(&TS_State);
marcusncunha 2:ae8636da1252 470 ts.GetState(&TS_State);
marcusncunha 2:ae8636da1252 471 switch (tela){
marcusncunha 2:ae8636da1252 472 case 0:
marcusncunha 2:ae8636da1252 473 desenhaTelaInicial();
marcusncunha 2:ae8636da1252 474 tela = 10;
marcusncunha 2:ae8636da1252 475 break;
marcusncunha 2:ae8636da1252 476 case 1:
marcusncunha 2:ae8636da1252 477 comandosTeclado();
marcusncunha 2:ae8636da1252 478 if(atualizarTela){
marcusncunha 2:ae8636da1252 479 desenhaTeclado(1);
marcusncunha 2:ae8636da1252 480 atualizarTela = false;
marcusncunha 2:ae8636da1252 481 }
marcusncunha 2:ae8636da1252 482 break;
marcusncunha 2:ae8636da1252 483 case 2:
marcusncunha 2:ae8636da1252 484 comandosTeclado();
marcusncunha 2:ae8636da1252 485 if(atualizarTela){
marcusncunha 2:ae8636da1252 486 desenhaTeclado(2);
marcusncunha 2:ae8636da1252 487 atualizarTela = false;
marcusncunha 2:ae8636da1252 488 }
marcusncunha 2:ae8636da1252 489 break;
marcusncunha 2:ae8636da1252 490 case 3:
marcusncunha 2:ae8636da1252 491 comandosTeclado();
marcusncunha 2:ae8636da1252 492 if(atualizarTela){
marcusncunha 2:ae8636da1252 493 desenhaTeclado(3);
marcusncunha 2:ae8636da1252 494 atualizarTela = false;
marcusncunha 2:ae8636da1252 495 }
marcusncunha 2:ae8636da1252 496 break;
marcusncunha 2:ae8636da1252 497 case 4:
marcusncunha 2:ae8636da1252 498 comandosTeclado();
marcusncunha 2:ae8636da1252 499 if(atualizarTela){
marcusncunha 2:ae8636da1252 500 desenhaTeclado(4);
marcusncunha 2:ae8636da1252 501 atualizarTela = false;
marcusncunha 2:ae8636da1252 502 }
marcusncunha 2:ae8636da1252 503 break;
marcusncunha 2:ae8636da1252 504 default:
marcusncunha 2:ae8636da1252 505 comandosPrincipal();
marcusncunha 2:ae8636da1252 506 break;
marcusncunha 2:ae8636da1252 507 }
marcusncunha 2:ae8636da1252 508 }
marcusncunha 2:ae8636da1252 509 }
marcusncunha 2:ae8636da1252 510
marcusncunha 2:ae8636da1252 511 string retiraValor(string respostaCompleta, int posicao, int quantidade){
marcusncunha 2:ae8636da1252 512 string temporario = respostaCompleta;
marcusncunha 2:ae8636da1252 513 return temporario.substr(posicao + 1,quantidade);
marcusncunha 2:ae8636da1252 514 }
marcusncunha 2:ae8636da1252 515
marcusncunha 2:ae8636da1252 516 void dump_Post (HttpResponse* res) {
marcusncunha 2:ae8636da1252 517 printf("Status: %d - %s\r\n", res->get_status_code(), res->get_status_message().c_str());
marcusncunha 2:ae8636da1252 518 string referencia = "Set-cookie";
marcusncunha 2:ae8636da1252 519 printf("Headers:\r\n");
marcusncunha 2:ae8636da1252 520 for (size_t ix = 0; ix < res->get_headers_length(); ix++) {
marcusncunha 2:ae8636da1252 521 printf("\t%s: %s\r\n", res->get_headers_fields()[ix]->c_str(), res->get_headers_values()[ix]->c_str());
marcusncunha 2:ae8636da1252 522 string resposta = res->get_headers_fields()[ix]->c_str();
marcusncunha 2:ae8636da1252 523 if(resposta.compare(referencia) == 0){
marcusncunha 2:ae8636da1252 524 cookie = res->get_headers_values()[ix]->c_str();
marcusncunha 2:ae8636da1252 525 }
marcusncunha 2:ae8636da1252 526 }
marcusncunha 2:ae8636da1252 527
marcusncunha 2:ae8636da1252 528 printf("\nBody (%d bytes):\n\n%s\r\n", res->get_body_length(), res->get_body_as_string().c_str());
marcusncunha 2:ae8636da1252 529 }
marcusncunha 2:ae8636da1252 530
marcusncunha 2:ae8636da1252 531 void postValor(string campo, string valor) {
marcusncunha 2:ae8636da1252 532 pc.printf("Tentando Post");
marcusncunha 2:ae8636da1252 533 HttpRequest* post_req = new HttpRequest(&eth, HTTP_POST, "http://192.168.0.131/awp/disp_all.htm");
marcusncunha 2:ae8636da1252 534 post_req->set_header("Content-Type","application/x-www-form-urlencoded");
marcusncunha 2:ae8636da1252 535 post_req->set_header("Set-cookie",cookie);
marcusncunha 2:ae8636da1252 536 char body[100];
marcusncunha 2:ae8636da1252 537 sprintf(body, "\"webdata\".%s=%s", campo.c_str(), valor.c_str());
marcusncunha 2:ae8636da1252 538 HttpResponse* post_res = post_req->send(body, strlen(body));
marcusncunha 2:ae8636da1252 539 if(!post_res){
marcusncunha 2:ae8636da1252 540 pc.printf("Falha no Post - erro codigo %d\r\n", post_req->get_error());
marcusncunha 2:ae8636da1252 541 }
marcusncunha 2:ae8636da1252 542 else{
marcusncunha 2:ae8636da1252 543 pc.printf("Post ok!");
marcusncunha 2:ae8636da1252 544 }
marcusncunha 2:ae8636da1252 545 //pc.printf("Token %s e body %s\r\n",cookie,body);
marcusncunha 2:ae8636da1252 546 delete post_req;
marcusncunha 2:ae8636da1252 547 }
marcusncunha 2:ae8636da1252 548
marcusncunha 2:ae8636da1252 549 void postValores(string campo1, string valor1,string campo2, string valor2) {
marcusncunha 2:ae8636da1252 550 pc.printf("Tentando Post");
marcusncunha 2:ae8636da1252 551 HttpRequest* post_req = new HttpRequest(&eth, HTTP_POST, "http://192.168.0.131/awp/disp_all.htm");
marcusncunha 2:ae8636da1252 552 post_req->set_header("Content-Type","application/x-www-form-urlencoded");
marcusncunha 2:ae8636da1252 553 post_req->set_header("Set-cookie",cookie);
marcusncunha 2:ae8636da1252 554 char body[100];
marcusncunha 2:ae8636da1252 555 sprintf(body, "\"webdata\".%s=%s&\"webdata\".%s=%s", campo1.c_str(), valor1.c_str(),campo2.c_str(), valor2.c_str());
marcusncunha 2:ae8636da1252 556 HttpResponse* post_res = post_req->send(body, strlen(body));
marcusncunha 2:ae8636da1252 557 if(!post_res){
marcusncunha 2:ae8636da1252 558 pc.printf("Falha no Post - erro codigo %d\r\n", post_req->get_error());
marcusncunha 2:ae8636da1252 559 }
marcusncunha 2:ae8636da1252 560 else{
marcusncunha 2:ae8636da1252 561 pc.printf("Post ok!");
marcusncunha 2:ae8636da1252 562 }
marcusncunha 2:ae8636da1252 563 //pc.printf("Token %s e body %s\r\n",cookie,body);
marcusncunha 2:ae8636da1252 564 delete post_req;
marcusncunha 2:ae8636da1252 565 }
marcusncunha 2:ae8636da1252 566
marcusncunha 2:ae8636da1252 567 void login(string login, string senha) {
marcusncunha 2:ae8636da1252 568 pc.printf("Tentando Login");
marcusncunha 2:ae8636da1252 569 HttpRequest* post_req = new HttpRequest(&eth, HTTP_POST, "http://192.168.0.131/FormLogin");
marcusncunha 2:ae8636da1252 570 post_req->set_header("Content-Type","application/x-www-form-urlencoded");
marcusncunha 2:ae8636da1252 571 char body[100];
marcusncunha 2:ae8636da1252 572 sprintf(body, "Login=admin&Password=");
marcusncunha 2:ae8636da1252 573 HttpResponse* post_res = post_req->send(body, strlen(body));
marcusncunha 2:ae8636da1252 574 if(!post_res){
marcusncunha 2:ae8636da1252 575 pc.printf("Falha no Post - erro codigo %d\r\n", post_req->get_error());
marcusncunha 2:ae8636da1252 576 }
marcusncunha 2:ae8636da1252 577 else{
marcusncunha 2:ae8636da1252 578 printf("Efetuou post\r\n");
marcusncunha 2:ae8636da1252 579 pc.printf(post_res->get_body_as_string().c_str());
marcusncunha 2:ae8636da1252 580 dump_Post(post_res);
marcusncunha 2:ae8636da1252 581 }
marcusncunha 2:ae8636da1252 582 HttpRequest* redir_req = new HttpRequest(&eth, HTTP_GET, "http://192.168.0.131/Portal/Portal.mwsl?PriNav=Start");
marcusncunha 2:ae8636da1252 583 redir_req->set_header("Set-cookie",cookie);
marcusncunha 2:ae8636da1252 584 post_res = redir_req->send();
marcusncunha 2:ae8636da1252 585
marcusncunha 2:ae8636da1252 586 if(!post_res){
marcusncunha 2:ae8636da1252 587 pc.printf("Falha no Request - erro codigo %d\r\n", redir_req->get_error());
marcusncunha 2:ae8636da1252 588 }
marcusncunha 2:ae8636da1252 589 else{
marcusncunha 2:ae8636da1252 590 pc.printf(post_res->get_body_as_string().c_str());
marcusncunha 2:ae8636da1252 591 }
marcusncunha 2:ae8636da1252 592 delete post_req;
marcusncunha 2:ae8636da1252 593 delete redir_req;
marcusncunha 0:9b2b74c6af2f 594 }
marcusncunha 0:9b2b74c6af2f 595
marcusncunha 2:ae8636da1252 596 void dump_response(HttpResponse* res){
marcusncunha 2:ae8636da1252 597 int posicaochar[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
marcusncunha 2:ae8636da1252 598 int posposi = 0;
marcusncunha 2:ae8636da1252 599 std::string resposta = res->get_body_as_string();
marcusncunha 2:ae8636da1252 600 for (int i = 0; i < res->get_body_length(); i++)
marcusncunha 2:ae8636da1252 601 {
marcusncunha 2:ae8636da1252 602 if (resposta[i] == '#'){
marcusncunha 2:ae8636da1252 603 posicaochar[posposi] = i;
marcusncunha 2:ae8636da1252 604 posposi++;
marcusncunha 2:ae8636da1252 605 }
marcusncunha 2:ae8636da1252 606 }
marcusncunha 2:ae8636da1252 607 int tamanhoStatus = posicaochar[1] - posicaochar[0] - 1;
marcusncunha 2:ae8636da1252 608 int tamanhoSetVoltasTopo = posicaochar[3] - posicaochar[2] - 1;
marcusncunha 2:ae8636da1252 609 int tamanhoSetNumCantos = posicaochar[5] - posicaochar[4] - 1;
marcusncunha 2:ae8636da1252 610 int tamanhoSetAlturaCamada = posicaochar[7] - posicaochar[6] - 1;
marcusncunha 2:ae8636da1252 611 int tamanhoSetVoltasBase = posicaochar[9] - posicaochar[8] - 1;
marcusncunha 2:ae8636da1252 612 int tamanhoDispNumCantos = posicaochar[11] - posicaochar[10] - 1;
marcusncunha 2:ae8636da1252 613 int tamanhoDispAlturaCamada = posicaochar[13] - posicaochar[12] - 1;
marcusncunha 2:ae8636da1252 614 int tamanhoStatusBateria = posicaochar[15] - posicaochar[14] - 1;
marcusncunha 2:ae8636da1252 615 if(tamanhoSetVoltasTopo < set_voltas_topo.size()){
marcusncunha 2:ae8636da1252 616 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 617 lcd.FillRect(21, 61, 89, 29);
marcusncunha 2:ae8636da1252 618 }
marcusncunha 2:ae8636da1252 619 if(tamanhoSetNumCantos < set_numero_cantos.size()){
marcusncunha 2:ae8636da1252 620 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 621 lcd.FillRect(21, 96, 89, 29);
marcusncunha 2:ae8636da1252 622 }
marcusncunha 2:ae8636da1252 623 if(tamanhoDispNumCantos < disp_num_cantos.size()){
marcusncunha 2:ae8636da1252 624 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 625 lcd.FillRect(261, 96, 89, 29);
marcusncunha 2:ae8636da1252 626 }
marcusncunha 2:ae8636da1252 627 if(tamanhoSetAlturaCamada < set_altura_camada.size()){
marcusncunha 2:ae8636da1252 628 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 629 lcd.FillRect(21, 131, 89, 29);
marcusncunha 2:ae8636da1252 630 }
marcusncunha 2:ae8636da1252 631 if(tamanhoDispAlturaCamada < disp_altura_camada.size()){
marcusncunha 2:ae8636da1252 632 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 633 lcd.FillRect(261, 131, 89, 29);
marcusncunha 2:ae8636da1252 634 }
marcusncunha 2:ae8636da1252 635 if(tamanhoSetVoltasBase < set_voltas_base.size()){
marcusncunha 2:ae8636da1252 636 lcd.SetTextColor(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 637 lcd.FillRect(21, 166, 89, 29);
marcusncunha 2:ae8636da1252 638 }
marcusncunha 2:ae8636da1252 639 estado = resposta.substr(posicaochar[0] + 1,tamanhoStatus);
marcusncunha 2:ae8636da1252 640 set_voltas_topo = resposta.substr(posicaochar[2] + 1,tamanhoSetVoltasTopo);
marcusncunha 2:ae8636da1252 641 set_numero_cantos = resposta.substr(posicaochar[4] + 1,tamanhoSetNumCantos);
marcusncunha 2:ae8636da1252 642 set_altura_camada = resposta.substr(posicaochar[6] + 1,tamanhoSetAlturaCamada);
marcusncunha 2:ae8636da1252 643 set_voltas_base = resposta.substr(posicaochar[8] + 1,tamanhoSetVoltasBase);
marcusncunha 2:ae8636da1252 644 disp_num_cantos = resposta.substr(posicaochar[10] + 1,tamanhoDispNumCantos);
marcusncunha 2:ae8636da1252 645 disp_altura_camada = resposta.substr(posicaochar[12] + 1,tamanhoDispAlturaCamada);
marcusncunha 2:ae8636da1252 646 reset_bateria = resposta.substr(posicaochar[14] + 1,tamanhoStatusBateria);
marcusncunha 2:ae8636da1252 647 mostrarValores = true;
marcusncunha 0:9b2b74c6af2f 648 }
marcusncunha 0:9b2b74c6af2f 649
marcusncunha 2:ae8636da1252 650 int main()
marcusncunha 2:ae8636da1252 651 {
marcusncunha 2:ae8636da1252 652 pc.printf("Iniciando a Tela\r\n");
marcusncunha 2:ae8636da1252 653 lcd.Clear(LCD_COLOR_WHITE);
marcusncunha 2:ae8636da1252 654 desenharImagem(LOGO,315,22,82,125);
marcusncunha 2:ae8636da1252 655 lcd.SetFont(&Font16);
marcusncunha 2:ae8636da1252 656 lcd.SetTextColor(LCD_COLOR_DARKGRAY);
marcusncunha 2:ae8636da1252 657 lcd.DisplayStringAt(10, 255, (uint8_t *) "Buscando IP ...", RIGHT_MODE);
marcusncunha 2:ae8636da1252 658 wait(3);
marcusncunha 2:ae8636da1252 659 printf("IHM Robopack\r\n");
marcusncunha 2:ae8636da1252 660 //EthernetInterface eth;
marcusncunha 2:ae8636da1252 661 eth.set_network(mbedIp,mbedMask,mbedGateway); //Use these parameters for static IP
marcusncunha 2:ae8636da1252 662 printf("IFoi o Ip Estatico k\r\n");
marcusncunha 2:ae8636da1252 663 eth.connect();
marcusncunha 2:ae8636da1252 664 lcd.DisplayStringAt(10, 255, (uint8_t *) "IP configurado ...", RIGHT_MODE);
marcusncunha 2:ae8636da1252 665 wait(2);
marcusncunha 2:ae8636da1252 666 pc.printf("O IP que temos: '%s'\r\n", eth.get_ip_address());
marcusncunha 2:ae8636da1252 667 printf("The target IP address is '%s'\r\n", eth.get_ip_address());
marcusncunha 2:ae8636da1252 668 lcd.DisplayStringAt(10, 255, (uint8_t *) "Logando no Hardware ...", RIGHT_MODE);
marcusncunha 2:ae8636da1252 669 wait(5);
marcusncunha 2:ae8636da1252 670 //login("admin","");
marcusncunha 2:ae8636da1252 671 //Inicia as Variáveis
marcusncunha 2:ae8636da1252 672 status = 0;
marcusncunha 2:ae8636da1252 673 tela = 0;
marcusncunha 2:ae8636da1252 674 atualizarTela = true;
marcusncunha 2:ae8636da1252 675 //Limpa Tela
marcusncunha 2:ae8636da1252 676 resetTela();
marcusncunha 2:ae8636da1252 677 //Desenha tela Inicial
marcusncunha 2:ae8636da1252 678 desenhaTelaInicial();
marcusncunha 2:ae8636da1252 679 thread.start(led2_thread);
marcusncunha 2:ae8636da1252 680
marcusncunha 2:ae8636da1252 681 HttpResponse* get_res;
marcusncunha 2:ae8636da1252 682
marcusncunha 2:ae8636da1252 683 while (true) {
marcusncunha 2:ae8636da1252 684 if(atualizarValores){
marcusncunha 2:ae8636da1252 685 HttpRequest* get_req = new HttpRequest(&eth, HTTP_GET, "http://192.168.0.131/awp/disp_all.htm");
marcusncunha 2:ae8636da1252 686 get_res = get_req->send();
marcusncunha 2:ae8636da1252 687 if(!get_res){
marcusncunha 2:ae8636da1252 688 redeOnline = false;
marcusncunha 2:ae8636da1252 689 pc.printf("Falha no Request - erro codigo %d\r\n", get_req->get_error());
marcusncunha 2:ae8636da1252 690 }
marcusncunha 2:ae8636da1252 691 else if (get_res->get_status_code() != 0){
marcusncunha 2:ae8636da1252 692 redeOnline = true;
marcusncunha 2:ae8636da1252 693 paginaOnline = true;
marcusncunha 2:ae8636da1252 694 dump_response(get_res);
marcusncunha 2:ae8636da1252 695 }
marcusncunha 2:ae8636da1252 696 else{
marcusncunha 2:ae8636da1252 697 redeOnline = true;
marcusncunha 2:ae8636da1252 698 paginaOnline = false;
marcusncunha 2:ae8636da1252 699 }
marcusncunha 2:ae8636da1252 700 delete get_req;
marcusncunha 2:ae8636da1252 701 atualizarValores = false;
marcusncunha 2:ae8636da1252 702 }
marcusncunha 2:ae8636da1252 703 }
marcusncunha 0:9b2b74c6af2f 704 }
marcusncunha 0:9b2b74c6af2f 705
marcusncunha 2:ae8636da1252 706 //Funções CallBack
marcusncunha 2:ae8636da1252 707 void botaoSetVoltasTopo_callback(){
marcusncunha 2:ae8636da1252 708 botaoSetVoltasTopo.updateFlag = 0;
marcusncunha 2:ae8636da1252 709 tela = 1;
marcusncunha 2:ae8636da1252 710 valorTemporario = set_voltas_topo;
marcusncunha 2:ae8636da1252 711 atualizarTela = true;
marcusncunha 2:ae8636da1252 712 pc.printf("Set Voltas Topo \r\n");
marcusncunha 2:ae8636da1252 713 }
marcusncunha 2:ae8636da1252 714
marcusncunha 2:ae8636da1252 715 void botaoSetNumeroCantos_callback(){
marcusncunha 2:ae8636da1252 716 botaoSetNumeroCantos.updateFlag = 0;
marcusncunha 2:ae8636da1252 717 tela = 2;
marcusncunha 2:ae8636da1252 718 valorTemporario = set_numero_cantos;
marcusncunha 2:ae8636da1252 719 atualizarTela = true;
marcusncunha 2:ae8636da1252 720 pc.printf("Set Numero Cantos \r\n");
marcusncunha 0:9b2b74c6af2f 721 }
marcusncunha 0:9b2b74c6af2f 722
marcusncunha 2:ae8636da1252 723 void botaoSetAlturaCamada_callback(){
marcusncunha 2:ae8636da1252 724 botaoSetAlturaCamada.updateFlag = 0;
marcusncunha 2:ae8636da1252 725 tela = 3;
marcusncunha 2:ae8636da1252 726 valorTemporario = set_altura_camada;
marcusncunha 2:ae8636da1252 727 atualizarTela = true;
marcusncunha 2:ae8636da1252 728 pc.printf("Set Altura Camada \r\n");
marcusncunha 2:ae8636da1252 729 }
marcusncunha 2:ae8636da1252 730
marcusncunha 2:ae8636da1252 731 void botaoSetVoltasBase_callback(){
marcusncunha 2:ae8636da1252 732 botaoSetVoltasBase.updateFlag = 0;
marcusncunha 2:ae8636da1252 733 tela = 4;
marcusncunha 2:ae8636da1252 734 valorTemporario = set_voltas_base;
marcusncunha 2:ae8636da1252 735 atualizarTela = true;
marcusncunha 2:ae8636da1252 736 pc.printf("Set Voltas Base \r\n");
marcusncunha 2:ae8636da1252 737 }
marcusncunha 2:ae8636da1252 738
marcusncunha 2:ae8636da1252 739 void botao0_callback(){
marcusncunha 2:ae8636da1252 740 botao0.updateFlag = 0;
marcusncunha 2:ae8636da1252 741 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 742 valorTemporario = "0";
marcusncunha 2:ae8636da1252 743 }
marcusncunha 2:ae8636da1252 744 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 745 valorTemporario += "0";
marcusncunha 2:ae8636da1252 746 }
marcusncunha 0:9b2b74c6af2f 747
marcusncunha 0:9b2b74c6af2f 748 }
marcusncunha 0:9b2b74c6af2f 749
marcusncunha 2:ae8636da1252 750 void botao1_callback(){
marcusncunha 2:ae8636da1252 751 botao1.updateFlag = 0;
marcusncunha 2:ae8636da1252 752 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 753 valorTemporario = "1";
marcusncunha 2:ae8636da1252 754 }
marcusncunha 2:ae8636da1252 755 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 756 valorTemporario += "1";
marcusncunha 2:ae8636da1252 757 }
marcusncunha 2:ae8636da1252 758 }
marcusncunha 2:ae8636da1252 759
marcusncunha 2:ae8636da1252 760 void botao2_callback(){
marcusncunha 2:ae8636da1252 761 botao2.updateFlag = 0;
marcusncunha 2:ae8636da1252 762 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 763 valorTemporario = "2";
marcusncunha 2:ae8636da1252 764 }
marcusncunha 2:ae8636da1252 765 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 766 valorTemporario += "2";
marcusncunha 2:ae8636da1252 767 }
marcusncunha 2:ae8636da1252 768 }
marcusncunha 2:ae8636da1252 769
marcusncunha 2:ae8636da1252 770 void botao3_callback(){
marcusncunha 2:ae8636da1252 771 botao3.updateFlag = 0;
marcusncunha 2:ae8636da1252 772 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 773 valorTemporario = "3";
marcusncunha 2:ae8636da1252 774 }
marcusncunha 2:ae8636da1252 775 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 776 valorTemporario += "3";
marcusncunha 2:ae8636da1252 777 }
marcusncunha 2:ae8636da1252 778 }
marcusncunha 2:ae8636da1252 779
marcusncunha 2:ae8636da1252 780 void botao4_callback(){
marcusncunha 2:ae8636da1252 781 botao4.updateFlag = 0;
marcusncunha 2:ae8636da1252 782 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 783 valorTemporario = "4";
marcusncunha 2:ae8636da1252 784 }
marcusncunha 2:ae8636da1252 785 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 786 valorTemporario += "4";
marcusncunha 2:ae8636da1252 787 }
marcusncunha 2:ae8636da1252 788 }
marcusncunha 2:ae8636da1252 789
marcusncunha 2:ae8636da1252 790 void botao5_callback(){
marcusncunha 2:ae8636da1252 791 botao5.updateFlag = 0;
marcusncunha 2:ae8636da1252 792 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 793 valorTemporario = "5";
marcusncunha 2:ae8636da1252 794 }
marcusncunha 2:ae8636da1252 795 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 796 valorTemporario += "5";
marcusncunha 2:ae8636da1252 797 }
marcusncunha 2:ae8636da1252 798 }
marcusncunha 2:ae8636da1252 799
marcusncunha 2:ae8636da1252 800 void botao6_callback(){
marcusncunha 2:ae8636da1252 801 botao6.updateFlag = 0;
marcusncunha 2:ae8636da1252 802 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 803 valorTemporario = "6";
marcusncunha 2:ae8636da1252 804 }
marcusncunha 2:ae8636da1252 805 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 806 valorTemporario += "6";
marcusncunha 1:c04c41de6eef 807 }
marcusncunha 0:9b2b74c6af2f 808 }
marcusncunha 1:c04c41de6eef 809
marcusncunha 2:ae8636da1252 810 void botao7_callback(){
marcusncunha 2:ae8636da1252 811 botao7.updateFlag = 0;
marcusncunha 2:ae8636da1252 812 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 813 valorTemporario = "7";
marcusncunha 2:ae8636da1252 814 }
marcusncunha 2:ae8636da1252 815 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 816 valorTemporario += "7";
marcusncunha 2:ae8636da1252 817 }
marcusncunha 2:ae8636da1252 818 }
marcusncunha 0:9b2b74c6af2f 819
marcusncunha 2:ae8636da1252 820 void botao8_callback(){
marcusncunha 2:ae8636da1252 821 botao8.updateFlag = 0;
marcusncunha 2:ae8636da1252 822 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 823 valorTemporario = "8";
marcusncunha 2:ae8636da1252 824 }
marcusncunha 2:ae8636da1252 825 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 826 valorTemporario += "8";
marcusncunha 2:ae8636da1252 827 }
marcusncunha 2:ae8636da1252 828 }
marcusncunha 0:9b2b74c6af2f 829
marcusncunha 2:ae8636da1252 830 void botao9_callback(){
marcusncunha 2:ae8636da1252 831 botao9.updateFlag = 0;
marcusncunha 2:ae8636da1252 832 if(valorTemporario == "0"){
marcusncunha 2:ae8636da1252 833 valorTemporario = "9";
marcusncunha 2:ae8636da1252 834 }
marcusncunha 2:ae8636da1252 835 else if(strlen(valorTemporario.c_str()) < 4){
marcusncunha 2:ae8636da1252 836 valorTemporario += "9";
marcusncunha 2:ae8636da1252 837 }
marcusncunha 2:ae8636da1252 838 }
marcusncunha 2:ae8636da1252 839
marcusncunha 2:ae8636da1252 840 void botaoPonto_callback(){
marcusncunha 2:ae8636da1252 841 botaoPonto.updateFlag = 0;
marcusncunha 2:ae8636da1252 842 //valorTemporario += ".";
marcusncunha 2:ae8636da1252 843 }
marcusncunha 2:ae8636da1252 844
marcusncunha 2:ae8636da1252 845 void botaoBackspace_callback(){
marcusncunha 2:ae8636da1252 846 botaoBackspace.updateFlag = 0;
marcusncunha 2:ae8636da1252 847 string valorRetirado = valorTemporario.substr(0,(strlen(valorTemporario.c_str())-1));
marcusncunha 2:ae8636da1252 848 limparCampoValor();
marcusncunha 2:ae8636da1252 849 valorTemporario = valorRetirado;
marcusncunha 2:ae8636da1252 850 }
marcusncunha 2:ae8636da1252 851
marcusncunha 2:ae8636da1252 852 void botaoSave_callback(){
marcusncunha 2:ae8636da1252 853 botaoSave.updateFlag = 0;
marcusncunha 2:ae8636da1252 854 if(redeOnline && paginaOnline){
marcusncunha 2:ae8636da1252 855 switch(tela){
marcusncunha 2:ae8636da1252 856 case 1:
marcusncunha 2:ae8636da1252 857 postValor("set_voltas_topo",valorTemporario);
marcusncunha 2:ae8636da1252 858 break;
marcusncunha 2:ae8636da1252 859 case 2:
marcusncunha 2:ae8636da1252 860 postValor("set_num_cantos",valorTemporario);
marcusncunha 2:ae8636da1252 861 break;
marcusncunha 2:ae8636da1252 862 case 3:
marcusncunha 2:ae8636da1252 863 postValor("set_altura_camada",valorTemporario);
marcusncunha 2:ae8636da1252 864 break;
marcusncunha 2:ae8636da1252 865 case 4:
marcusncunha 2:ae8636da1252 866 postValor("set_voltas_base",valorTemporario);
marcusncunha 2:ae8636da1252 867 break;
marcusncunha 0:9b2b74c6af2f 868 }
marcusncunha 0:9b2b74c6af2f 869 }
marcusncunha 2:ae8636da1252 870 tela = 0;
marcusncunha 2:ae8636da1252 871 atualizarValores = true;
marcusncunha 0:9b2b74c6af2f 872 }
marcusncunha 2:ae8636da1252 873
marcusncunha 2:ae8636da1252 874 void botaoBack_callback(){
marcusncunha 2:ae8636da1252 875 botaoBack.updateFlag = 0;
marcusncunha 2:ae8636da1252 876 tela = 0;
marcusncunha 2:ae8636da1252 877 atualizarValores = true;
marcusncunha 2:ae8636da1252 878 }
marcusncunha 2:ae8636da1252 879
marcusncunha 2:ae8636da1252 880 void botaoResetCargaBateria_callback(){
marcusncunha 2:ae8636da1252 881 botaoResetCargaBateria.updateFlag = 0;
marcusncunha 2:ae8636da1252 882 postValor("reset_bateria","1");
marcusncunha 2:ae8636da1252 883 }