a b / Mbed 2 deprecated EL_CODIGO_ASPI-01

Dependencies:   mbed

Committer:
grupo_17_2020
Date:
Thu Nov 19 12:07:27 2020 +0000
Revision:
0:0f497d629677
Child:
1:29fc95839893
el codigo completo del Asistente de Servicio Personal Interaccional - 01

Who changed what in which revision?

UserRevisionLine numberNew contents of line
grupo_17_2020 0:0f497d629677 1 #include "mbed.h"
grupo_17_2020 0:0f497d629677 2 #include "ctype.h"
grupo_17_2020 0:0f497d629677 3 #include "string.h"
grupo_17_2020 0:0f497d629677 4 #include "esp_at.h"
grupo_17_2020 0:0f497d629677 5 #include "esp_socket.h"
grupo_17_2020 0:0f497d629677 6 #include "hcsr04.h"
grupo_17_2020 0:0f497d629677 7
grupo_17_2020 0:0f497d629677 8 //config conexion wifi
grupo_17_2020 0:0f497d629677 9 #define nombreWifi "RAJAJ"
grupo_17_2020 0:0f497d629677 10 #define contraWifi "ANCM2211"
grupo_17_2020 0:0f497d629677 11 #define enlaceHTLM "luckystrike051.pythonanywhere.com"
grupo_17_2020 0:0f497d629677 12 #define puertoHTLM 80
grupo_17_2020 0:0f497d629677 13
grupo_17_2020 0:0f497d629677 14 //estados del bot
grupo_17_2020 0:0f497d629677 15 #define STANDBY_COCINA 4
grupo_17_2020 0:0f497d629677 16 #define TRANSPORT_IDA 5
grupo_17_2020 0:0f497d629677 17 #define STANDBY_MESA 2
grupo_17_2020 0:0f497d629677 18 #define TRANSPORT_VUELTA 3
grupo_17_2020 0:0f497d629677 19 #define CLEANUP 6
grupo_17_2020 0:0f497d629677 20
grupo_17_2020 0:0f497d629677 21 //estados motor
grupo_17_2020 0:0f497d629677 22 #define STANDBY 1
grupo_17_2020 0:0f497d629677 23 #define FOWARD 2
grupo_17_2020 0:0f497d629677 24 #define TURN_RIGHT 3
grupo_17_2020 0:0f497d629677 25 #define TURN_LEFT 4
grupo_17_2020 0:0f497d629677 26 #define HALF_TURN 5
grupo_17_2020 0:0f497d629677 27
grupo_17_2020 0:0f497d629677 28 // distancia a la que el utrasonico detiene el bot
grupo_17_2020 0:0f497d629677 29 #define DISTANCIA_STOP 11
grupo_17_2020 0:0f497d629677 30
grupo_17_2020 0:0f497d629677 31 //estados del modulo wifi
grupo_17_2020 0:0f497d629677 32 enum{
grupo_17_2020 0:0f497d629677 33 PROC_POST_OPEN_STATE,
grupo_17_2020 0:0f497d629677 34 PROC_POST_OPEN_REQUEST,
grupo_17_2020 0:0f497d629677 35 PROC_POST_OPEN_HCSR,
grupo_17_2020 0:0f497d629677 36 PROC_POST_SEND_STATE,
grupo_17_2020 0:0f497d629677 37 PROC_POST_SEND_REQUEST,
grupo_17_2020 0:0f497d629677 38 PROC_POST_SEND_HCSR,
grupo_17_2020 0:0f497d629677 39 PROC_POST_RECV_STATE,
grupo_17_2020 0:0f497d629677 40 PROC_POST_RECV_REQUEST,
grupo_17_2020 0:0f497d629677 41 PROC_POST_RECV_HCSR,
grupo_17_2020 0:0f497d629677 42 PROC_POST_CLOSE_STATE,
grupo_17_2020 0:0f497d629677 43 PROC_POST_CLOSE_REQUEST,
grupo_17_2020 0:0f497d629677 44 PROC_POST_CLOSE_HCSR,
grupo_17_2020 0:0f497d629677 45 };
grupo_17_2020 0:0f497d629677 46
grupo_17_2020 0:0f497d629677 47 #define ON 1
grupo_17_2020 0:0f497d629677 48 #define OFF 0
grupo_17_2020 0:0f497d629677 49
grupo_17_2020 0:0f497d629677 50 Serial DBG(USBTX, USBRX); // tx, rx
grupo_17_2020 0:0f497d629677 51
grupo_17_2020 0:0f497d629677 52 //temperatura
grupo_17_2020 0:0f497d629677 53 AnalogIn TEMPIN(A0);
grupo_17_2020 0:0f497d629677 54
grupo_17_2020 0:0f497d629677 55 //pines para fines varios
grupo_17_2020 0:0f497d629677 56 DigitalOut RED(PTE2);
grupo_17_2020 0:0f497d629677 57 DigitalOut GREEN(PTE3);
grupo_17_2020 0:0f497d629677 58 DigitalOut BLUE(PTE4);
grupo_17_2020 0:0f497d629677 59
grupo_17_2020 0:0f497d629677 60 //pines motor
grupo_17_2020 0:0f497d629677 61 DigitalOut ENAB_1 (PTC9);
grupo_17_2020 0:0f497d629677 62 DigitalOut ENAB_2 (PTC8);
grupo_17_2020 0:0f497d629677 63 DigitalOut DER_1 (PTA5);
grupo_17_2020 0:0f497d629677 64 DigitalOut IZQ_1 (PTA4);
grupo_17_2020 0:0f497d629677 65 DigitalOut DER_2 (PTA12);
grupo_17_2020 0:0f497d629677 66 DigitalOut IZQ_2 (PTD4);
grupo_17_2020 0:0f497d629677 67
grupo_17_2020 0:0f497d629677 68 DigitalOut S0(PTC17);
grupo_17_2020 0:0f497d629677 69 DigitalOut S1(PTC16);
grupo_17_2020 0:0f497d629677 70 DigitalOut S2(PTC13);
grupo_17_2020 0:0f497d629677 71 DigitalOut S3(PTC12);
grupo_17_2020 0:0f497d629677 72 InterruptIn INPUT(PTD0);
grupo_17_2020 0:0f497d629677 73 DigitalOut OE(PTD5);
grupo_17_2020 0:0f497d629677 74
grupo_17_2020 0:0f497d629677 75 DigitalIn INFRA_DER(PTE21);
grupo_17_2020 0:0f497d629677 76 DigitalIn INFRA_IZQ(PTE20);
grupo_17_2020 0:0f497d629677 77
grupo_17_2020 0:0f497d629677 78 DigitalIn PULSADOR(PTC4);
grupo_17_2020 0:0f497d629677 79
grupo_17_2020 0:0f497d629677 80 Timer cont;
grupo_17_2020 0:0f497d629677 81 Ticker seg;
grupo_17_2020 0:0f497d629677 82 Ticker seg_m;
grupo_17_2020 0:0f497d629677 83 Ticker seg_send;
grupo_17_2020 0:0f497d629677 84
grupo_17_2020 0:0f497d629677 85 #define SYSTEM_TICKER_TIC_DEF (0.01) //10mseg
grupo_17_2020 0:0f497d629677 86 #define SYSTEM_TICKER_1_SEG ( 1 / SYSTEM_TICKER_TIC_DEF)
grupo_17_2020 0:0f497d629677 87 Ticker system_ticker;
grupo_17_2020 0:0f497d629677 88
grupo_17_2020 0:0f497d629677 89 HCSR04 sensor(PTA17, PTA16);
grupo_17_2020 0:0f497d629677 90
grupo_17_2020 0:0f497d629677 91 int util, distancia;
grupo_17_2020 0:0f497d629677 92
grupo_17_2020 0:0f497d629677 93 unsigned int segundos = 0, segundos_m = 0, segundos_send = 0;
grupo_17_2020 0:0f497d629677 94 int j = 0, mem = 0;
grupo_17_2020 0:0f497d629677 95 unsigned short proc_post_tic = 0;
grupo_17_2020 0:0f497d629677 96
grupo_17_2020 0:0f497d629677 97 char estado_ASPI = STANDBY_COCINA;
grupo_17_2020 0:0f497d629677 98 char est_motor = STANDBY;
grupo_17_2020 0:0f497d629677 99 char est_ultra = OFF;
grupo_17_2020 0:0f497d629677 100
grupo_17_2020 0:0f497d629677 101 bool IsFoodReady = false;
grupo_17_2020 0:0f497d629677 102 bool msg_post = false;
grupo_17_2020 0:0f497d629677 103 bool IsOnLine = true;
grupo_17_2020 0:0f497d629677 104 bool IsHCSRFree = true;
grupo_17_2020 0:0f497d629677 105 bool IsHCSRWork = true;
grupo_17_2020 0:0f497d629677 106
grupo_17_2020 0:0f497d629677 107 void proc_post (void);
grupo_17_2020 0:0f497d629677 108 void proc_post_tic_cb ();
grupo_17_2020 0:0f497d629677 109 void conta();
grupo_17_2020 0:0f497d629677 110 void conta_m();
grupo_17_2020 0:0f497d629677 111 void conta_send();
grupo_17_2020 0:0f497d629677 112 void Ascend();
grupo_17_2020 0:0f497d629677 113 void Desend();
grupo_17_2020 0:0f497d629677 114 void ME_ASPI();
grupo_17_2020 0:0f497d629677 115 void MOTORR();
grupo_17_2020 0:0f497d629677 116 void INFRAROJOS();
grupo_17_2020 0:0f497d629677 117 void ULTRASONICO();
grupo_17_2020 0:0f497d629677 118 void TEMPERATURA();
grupo_17_2020 0:0f497d629677 119
grupo_17_2020 0:0f497d629677 120 int colores[4][2] = {{207, 290}, //IDA 3 0
grupo_17_2020 0:0f497d629677 121 {300, 390},//VUELTA 5 1
grupo_17_2020 0:0f497d629677 122 {400, 500},//TERMINAL 7 2
grupo_17_2020 0:0f497d629677 123 {600, 660}//COCINA 12 3
grupo_17_2020 0:0f497d629677 124 }; // 0-ida 1-vuelta 2-terminal 4-cocina
grupo_17_2020 0:0f497d629677 125
grupo_17_2020 0:0f497d629677 126 unsigned char string_est_aspi[155];
grupo_17_2020 0:0f497d629677 127 unsigned char buffer_data_http[255];
grupo_17_2020 0:0f497d629677 128 unsigned char buffer_memo[150];
grupo_17_2020 0:0f497d629677 129 char mes_send[50];
grupo_17_2020 0:0f497d629677 130
grupo_17_2020 0:0f497d629677 131 int main() {
grupo_17_2020 0:0f497d629677 132 RED = OFF;
grupo_17_2020 0:0f497d629677 133 GREEN = OFF;
grupo_17_2020 0:0f497d629677 134 BLUE = OFF;
grupo_17_2020 0:0f497d629677 135
grupo_17_2020 0:0f497d629677 136 seg.attach(&conta, 1.0);
grupo_17_2020 0:0f497d629677 137 seg_m.attach(&conta_m, 1.0);
grupo_17_2020 0:0f497d629677 138 seg_send.attach(&conta_send, 1.0);
grupo_17_2020 0:0f497d629677 139 //seg_us.attach(&conta_us, 1.0);
grupo_17_2020 0:0f497d629677 140 system_ticker.attach(&proc_post_tic_cb, SYSTEM_TICKER_TIC_DEF);
grupo_17_2020 0:0f497d629677 141
grupo_17_2020 0:0f497d629677 142 (void)WiFi_init(nombreWifi, contraWifi);
grupo_17_2020 0:0f497d629677 143
grupo_17_2020 0:0f497d629677 144 OE = 1;
grupo_17_2020 0:0f497d629677 145
grupo_17_2020 0:0f497d629677 146 //Escala a 2%
grupo_17_2020 0:0f497d629677 147 S0 = 0;
grupo_17_2020 0:0f497d629677 148 S1 = 1;
grupo_17_2020 0:0f497d629677 149
grupo_17_2020 0:0f497d629677 150 //Filtro
grupo_17_2020 0:0f497d629677 151 S2 = 0;
grupo_17_2020 0:0f497d629677 152 S3 = 1;
grupo_17_2020 0:0f497d629677 153
grupo_17_2020 0:0f497d629677 154 INPUT.rise(&Ascend);
grupo_17_2020 0:0f497d629677 155 INPUT.fall(&Desend);
grupo_17_2020 0:0f497d629677 156
grupo_17_2020 0:0f497d629677 157 msg_post = true;
grupo_17_2020 0:0f497d629677 158 while(1) {
grupo_17_2020 0:0f497d629677 159
grupo_17_2020 0:0f497d629677 160 //DBG.printf("%d_", segundos_stop);
grupo_17_2020 0:0f497d629677 161
grupo_17_2020 0:0f497d629677 162 (void)WiFi_Step();
grupo_17_2020 0:0f497d629677 163
grupo_17_2020 0:0f497d629677 164 proc_post();
grupo_17_2020 0:0f497d629677 165
grupo_17_2020 0:0f497d629677 166 if(IsOnLine){
grupo_17_2020 0:0f497d629677 167 INFRAROJOS();
grupo_17_2020 0:0f497d629677 168 }
grupo_17_2020 0:0f497d629677 169
grupo_17_2020 0:0f497d629677 170 ME_ASPI();
grupo_17_2020 0:0f497d629677 171
grupo_17_2020 0:0f497d629677 172 ULTRASONICO();
grupo_17_2020 0:0f497d629677 173
grupo_17_2020 0:0f497d629677 174 MOTORR();
grupo_17_2020 0:0f497d629677 175
grupo_17_2020 0:0f497d629677 176 TEMPERATURA();
grupo_17_2020 0:0f497d629677 177
grupo_17_2020 0:0f497d629677 178 wait(0.5);
grupo_17_2020 0:0f497d629677 179
grupo_17_2020 0:0f497d629677 180 //DBG.printf("%d - %d - %d \r\n", distancia, segundos_stop, (int)IsHCSRFree);
grupo_17_2020 0:0f497d629677 181
grupo_17_2020 0:0f497d629677 182 }
grupo_17_2020 0:0f497d629677 183 }
grupo_17_2020 0:0f497d629677 184
grupo_17_2020 0:0f497d629677 185 void ME_ASPI(){
grupo_17_2020 0:0f497d629677 186
grupo_17_2020 0:0f497d629677 187 switch(estado_ASPI){
grupo_17_2020 0:0f497d629677 188 case STANDBY_COCINA:
grupo_17_2020 0:0f497d629677 189 j = 0;
grupo_17_2020 0:0f497d629677 190 sprintf((char*)string_est_aspi,"ESPERANDO EN COCINA");
grupo_17_2020 0:0f497d629677 191
grupo_17_2020 0:0f497d629677 192 if(IsFoodReady){
grupo_17_2020 0:0f497d629677 193 estado_ASPI = TRANSPORT_IDA;
grupo_17_2020 0:0f497d629677 194 }
grupo_17_2020 0:0f497d629677 195 break;
grupo_17_2020 0:0f497d629677 196 case TRANSPORT_IDA:
grupo_17_2020 0:0f497d629677 197 OE = 0;
grupo_17_2020 0:0f497d629677 198
grupo_17_2020 0:0f497d629677 199 ULTRASONICO();
grupo_17_2020 0:0f497d629677 200
grupo_17_2020 0:0f497d629677 201 sprintf((char*)string_est_aspi,"LLEVANDO PEDIDO A MESA");
grupo_17_2020 0:0f497d629677 202
grupo_17_2020 0:0f497d629677 203 if( util >= colores[0][0] && util <= colores[0][1]){
grupo_17_2020 0:0f497d629677 204
grupo_17_2020 0:0f497d629677 205 if(segundos == 0 && j < strlen((char*)buffer_memo)){
grupo_17_2020 0:0f497d629677 206
grupo_17_2020 0:0f497d629677 207 if(buffer_memo[j] == '0'){
grupo_17_2020 0:0f497d629677 208
grupo_17_2020 0:0f497d629677 209 if(buffer_memo[j+1] == 'V'){
grupo_17_2020 0:0f497d629677 210
grupo_17_2020 0:0f497d629677 211 est_motor = TURN_RIGHT;
grupo_17_2020 0:0f497d629677 212 segundos_m = 4;
grupo_17_2020 0:0f497d629677 213 segundos = 10;
grupo_17_2020 0:0f497d629677 214 j++;j++;
grupo_17_2020 0:0f497d629677 215 break;
grupo_17_2020 0:0f497d629677 216 }
grupo_17_2020 0:0f497d629677 217 if(buffer_memo[j+1] == 'I'){
grupo_17_2020 0:0f497d629677 218
grupo_17_2020 0:0f497d629677 219 est_motor = TURN_RIGHT;
grupo_17_2020 0:0f497d629677 220 segundos_m = 0;
grupo_17_2020 0:0f497d629677 221 segundos = 10;
grupo_17_2020 0:0f497d629677 222 j++;j++;
grupo_17_2020 0:0f497d629677 223 break;
grupo_17_2020 0:0f497d629677 224 }
grupo_17_2020 0:0f497d629677 225 if(buffer_memo[j+1] == 'L'){
grupo_17_2020 0:0f497d629677 226
grupo_17_2020 0:0f497d629677 227 est_motor = TURN_RIGHT;
grupo_17_2020 0:0f497d629677 228 segundos_m = 6;
grupo_17_2020 0:0f497d629677 229 segundos = 10;
grupo_17_2020 0:0f497d629677 230 j++;j++;
grupo_17_2020 0:0f497d629677 231 break;
grupo_17_2020 0:0f497d629677 232 }
grupo_17_2020 0:0f497d629677 233
grupo_17_2020 0:0f497d629677 234 }
grupo_17_2020 0:0f497d629677 235 if(buffer_memo[j] == '1'){
grupo_17_2020 0:0f497d629677 236
grupo_17_2020 0:0f497d629677 237 if(buffer_memo[j+1] == 'V'){
grupo_17_2020 0:0f497d629677 238
grupo_17_2020 0:0f497d629677 239 est_motor = TURN_LEFT;
grupo_17_2020 0:0f497d629677 240 segundos_m = 4;
grupo_17_2020 0:0f497d629677 241 segundos = 10;
grupo_17_2020 0:0f497d629677 242 j++;j++;
grupo_17_2020 0:0f497d629677 243 break;
grupo_17_2020 0:0f497d629677 244 }
grupo_17_2020 0:0f497d629677 245 if(buffer_memo[j+1] == 'I'){
grupo_17_2020 0:0f497d629677 246
grupo_17_2020 0:0f497d629677 247 est_motor = TURN_LEFT;
grupo_17_2020 0:0f497d629677 248 segundos_m = 0;
grupo_17_2020 0:0f497d629677 249 segundos = 10;
grupo_17_2020 0:0f497d629677 250 j++;j++;
grupo_17_2020 0:0f497d629677 251 break;
grupo_17_2020 0:0f497d629677 252 }
grupo_17_2020 0:0f497d629677 253 if(buffer_memo[j+1] == 'L'){
grupo_17_2020 0:0f497d629677 254
grupo_17_2020 0:0f497d629677 255 est_motor = TURN_LEFT;
grupo_17_2020 0:0f497d629677 256 segundos_m = 6;
grupo_17_2020 0:0f497d629677 257 segundos = 10;
grupo_17_2020 0:0f497d629677 258 j++;j++;
grupo_17_2020 0:0f497d629677 259 break;
grupo_17_2020 0:0f497d629677 260 }
grupo_17_2020 0:0f497d629677 261
grupo_17_2020 0:0f497d629677 262 }
grupo_17_2020 0:0f497d629677 263 }
grupo_17_2020 0:0f497d629677 264
grupo_17_2020 0:0f497d629677 265 }
grupo_17_2020 0:0f497d629677 266 if( util >= colores[2][0] && util <= colores[2][1]){
grupo_17_2020 0:0f497d629677 267 estado_ASPI = STANDBY_MESA;
grupo_17_2020 0:0f497d629677 268 }
grupo_17_2020 0:0f497d629677 269 break;
grupo_17_2020 0:0f497d629677 270 case STANDBY_MESA:
grupo_17_2020 0:0f497d629677 271 OE = 1;
grupo_17_2020 0:0f497d629677 272
grupo_17_2020 0:0f497d629677 273 sprintf((char*)string_est_aspi,"ESPERANDO EN MESA");
grupo_17_2020 0:0f497d629677 274 if(PULSADOR == 1){
grupo_17_2020 0:0f497d629677 275 est_motor = HALF_TURN;
grupo_17_2020 0:0f497d629677 276 segundos_m = 10;
grupo_17_2020 0:0f497d629677 277 }
grupo_17_2020 0:0f497d629677 278 if(segundos_m == 0 && est_motor == HALF_TURN){
grupo_17_2020 0:0f497d629677 279 estado_ASPI = TRANSPORT_VUELTA;
grupo_17_2020 0:0f497d629677 280 }
grupo_17_2020 0:0f497d629677 281 break;
grupo_17_2020 0:0f497d629677 282 case TRANSPORT_VUELTA:
grupo_17_2020 0:0f497d629677 283 OE = 0;
grupo_17_2020 0:0f497d629677 284
grupo_17_2020 0:0f497d629677 285 sprintf((char*)string_est_aspi,"VOLVIENDO A COCINA");
grupo_17_2020 0:0f497d629677 286
grupo_17_2020 0:0f497d629677 287 if( util >= colores[1][0] && util <= colores[1][1]){
grupo_17_2020 0:0f497d629677 288
grupo_17_2020 0:0f497d629677 289 if(segundos == 0 && j >= 0){
grupo_17_2020 0:0f497d629677 290 if(buffer_memo[j-2] == '0'){
grupo_17_2020 0:0f497d629677 291
grupo_17_2020 0:0f497d629677 292 if(buffer_memo[j-1] == 'V'){
grupo_17_2020 0:0f497d629677 293
grupo_17_2020 0:0f497d629677 294 est_motor = TURN_LEFT;
grupo_17_2020 0:0f497d629677 295 segundos_m = 4;
grupo_17_2020 0:0f497d629677 296 segundos = 5;
grupo_17_2020 0:0f497d629677 297 j--;j--;
grupo_17_2020 0:0f497d629677 298 break;
grupo_17_2020 0:0f497d629677 299 }
grupo_17_2020 0:0f497d629677 300 if(buffer_memo[j-1] == 'I'){
grupo_17_2020 0:0f497d629677 301
grupo_17_2020 0:0f497d629677 302 est_motor = TURN_LEFT;
grupo_17_2020 0:0f497d629677 303 segundos_m = 0;
grupo_17_2020 0:0f497d629677 304 segundos = 5;
grupo_17_2020 0:0f497d629677 305 j--;j--;
grupo_17_2020 0:0f497d629677 306 break;
grupo_17_2020 0:0f497d629677 307 }
grupo_17_2020 0:0f497d629677 308 if(buffer_memo[j-1] == 'L'){
grupo_17_2020 0:0f497d629677 309
grupo_17_2020 0:0f497d629677 310 est_motor = TURN_LEFT;
grupo_17_2020 0:0f497d629677 311 segundos_m = 6;
grupo_17_2020 0:0f497d629677 312 segundos = 5;
grupo_17_2020 0:0f497d629677 313 j--;j--;
grupo_17_2020 0:0f497d629677 314 break;
grupo_17_2020 0:0f497d629677 315 }
grupo_17_2020 0:0f497d629677 316
grupo_17_2020 0:0f497d629677 317 }
grupo_17_2020 0:0f497d629677 318 if(buffer_memo[j-2] == '1'){
grupo_17_2020 0:0f497d629677 319
grupo_17_2020 0:0f497d629677 320 if(buffer_memo[j-1] == 'V'){
grupo_17_2020 0:0f497d629677 321
grupo_17_2020 0:0f497d629677 322 est_motor = TURN_RIGHT;
grupo_17_2020 0:0f497d629677 323 segundos_m = 4;
grupo_17_2020 0:0f497d629677 324 segundos = 10;
grupo_17_2020 0:0f497d629677 325 j--;j--;
grupo_17_2020 0:0f497d629677 326 break;
grupo_17_2020 0:0f497d629677 327 }
grupo_17_2020 0:0f497d629677 328 if(buffer_memo[j-1] == 'I'){
grupo_17_2020 0:0f497d629677 329
grupo_17_2020 0:0f497d629677 330 est_motor = TURN_RIGHT;
grupo_17_2020 0:0f497d629677 331 segundos_m = 0;
grupo_17_2020 0:0f497d629677 332 segundos = 10;
grupo_17_2020 0:0f497d629677 333 j--;j--;
grupo_17_2020 0:0f497d629677 334 break;
grupo_17_2020 0:0f497d629677 335 }
grupo_17_2020 0:0f497d629677 336 if(buffer_memo[j-1] == 'L'){
grupo_17_2020 0:0f497d629677 337
grupo_17_2020 0:0f497d629677 338 est_motor = TURN_RIGHT;
grupo_17_2020 0:0f497d629677 339 segundos_m = 6;
grupo_17_2020 0:0f497d629677 340 segundos = 10;
grupo_17_2020 0:0f497d629677 341 j--;j--;
grupo_17_2020 0:0f497d629677 342 break;
grupo_17_2020 0:0f497d629677 343 }
grupo_17_2020 0:0f497d629677 344
grupo_17_2020 0:0f497d629677 345 }
grupo_17_2020 0:0f497d629677 346 }
grupo_17_2020 0:0f497d629677 347
grupo_17_2020 0:0f497d629677 348 }
grupo_17_2020 0:0f497d629677 349 if( util >= colores[3][0] && util <= colores[3][1]){
grupo_17_2020 0:0f497d629677 350 est_motor = HALF_TURN;
grupo_17_2020 0:0f497d629677 351 segundos_m = 10;
grupo_17_2020 0:0f497d629677 352 }
grupo_17_2020 0:0f497d629677 353 if(segundos_m == 0 && est_motor == HALF_TURN){
grupo_17_2020 0:0f497d629677 354 estado_ASPI = CLEANUP;
grupo_17_2020 0:0f497d629677 355 }
grupo_17_2020 0:0f497d629677 356 break;
grupo_17_2020 0:0f497d629677 357 case CLEANUP:
grupo_17_2020 0:0f497d629677 358 OE = 1;
grupo_17_2020 0:0f497d629677 359
grupo_17_2020 0:0f497d629677 360 int a = sizeof((char*)buffer_data_http);
grupo_17_2020 0:0f497d629677 361 int i = 0;
grupo_17_2020 0:0f497d629677 362
grupo_17_2020 0:0f497d629677 363 for(i = 0; i < a; i++){
grupo_17_2020 0:0f497d629677 364 buffer_data_http[i] = 0;
grupo_17_2020 0:0f497d629677 365 buffer_memo[i] = 0;
grupo_17_2020 0:0f497d629677 366
grupo_17_2020 0:0f497d629677 367 /* limpiar buffer*/
grupo_17_2020 0:0f497d629677 368 }
grupo_17_2020 0:0f497d629677 369 if(i == a){
grupo_17_2020 0:0f497d629677 370 IsFoodReady = false;
grupo_17_2020 0:0f497d629677 371 }
grupo_17_2020 0:0f497d629677 372 if(IsFoodReady == false){
grupo_17_2020 0:0f497d629677 373 estado_ASPI = STANDBY_COCINA;
grupo_17_2020 0:0f497d629677 374 }
grupo_17_2020 0:0f497d629677 375 break;
grupo_17_2020 0:0f497d629677 376
grupo_17_2020 0:0f497d629677 377 }
grupo_17_2020 0:0f497d629677 378 }
grupo_17_2020 0:0f497d629677 379
grupo_17_2020 0:0f497d629677 380 void INFRAROJOS(){
grupo_17_2020 0:0f497d629677 381
grupo_17_2020 0:0f497d629677 382 if(estado_ASPI == TRANSPORT_IDA || estado_ASPI == TRANSPORT_VUELTA){
grupo_17_2020 0:0f497d629677 383 if(INFRA_DER == 0 && INFRA_IZQ != 0){
grupo_17_2020 0:0f497d629677 384
grupo_17_2020 0:0f497d629677 385 est_motor = TURN_LEFT;
grupo_17_2020 0:0f497d629677 386 segundos_m = 2;
grupo_17_2020 0:0f497d629677 387 }
grupo_17_2020 0:0f497d629677 388 if(INFRA_DER != 0 && INFRA_IZQ == 0){
grupo_17_2020 0:0f497d629677 389
grupo_17_2020 0:0f497d629677 390 est_motor = TURN_RIGHT;
grupo_17_2020 0:0f497d629677 391 segundos_m = 2;
grupo_17_2020 0:0f497d629677 392 }
grupo_17_2020 0:0f497d629677 393 if(INFRA_DER == 0 && INFRA_IZQ == 0){
grupo_17_2020 0:0f497d629677 394
grupo_17_2020 0:0f497d629677 395 est_motor = FOWARD;
grupo_17_2020 0:0f497d629677 396 }
grupo_17_2020 0:0f497d629677 397 if(INFRA_DER != 0 && INFRA_IZQ != 0){
grupo_17_2020 0:0f497d629677 398
grupo_17_2020 0:0f497d629677 399 est_motor = STANDBY;
grupo_17_2020 0:0f497d629677 400 }
grupo_17_2020 0:0f497d629677 401 }
grupo_17_2020 0:0f497d629677 402 }
grupo_17_2020 0:0f497d629677 403
grupo_17_2020 0:0f497d629677 404 void TEMPERATURA(){
grupo_17_2020 0:0f497d629677 405 if(TEMPIN >= 0.85f) {
grupo_17_2020 0:0f497d629677 406 RED = OFF;
grupo_17_2020 0:0f497d629677 407 GREEN = ON;
grupo_17_2020 0:0f497d629677 408 BLUE = OFF;
grupo_17_2020 0:0f497d629677 409 }
grupo_17_2020 0:0f497d629677 410 if(TEMPIN < 0.85f && TEMPIN >= 0.55f){
grupo_17_2020 0:0f497d629677 411 RED = OFF;
grupo_17_2020 0:0f497d629677 412 GREEN = ON;
grupo_17_2020 0:0f497d629677 413 BLUE = ON;
grupo_17_2020 0:0f497d629677 414 }
grupo_17_2020 0:0f497d629677 415 if(TEMPIN < 0.55f && TEMPIN >= 0.28f){
grupo_17_2020 0:0f497d629677 416 RED = ON;
grupo_17_2020 0:0f497d629677 417 GREEN = OFF;
grupo_17_2020 0:0f497d629677 418 BLUE = OFF;
grupo_17_2020 0:0f497d629677 419 }
grupo_17_2020 0:0f497d629677 420 if(TEMPIN < 0.28f){
grupo_17_2020 0:0f497d629677 421 RED = ON;
grupo_17_2020 0:0f497d629677 422 GREEN = OFF;
grupo_17_2020 0:0f497d629677 423 BLUE = ON;
grupo_17_2020 0:0f497d629677 424 }
grupo_17_2020 0:0f497d629677 425 }
grupo_17_2020 0:0f497d629677 426
grupo_17_2020 0:0f497d629677 427
grupo_17_2020 0:0f497d629677 428 void MOTORR(){
grupo_17_2020 0:0f497d629677 429 if(IsHCSRFree){
grupo_17_2020 0:0f497d629677 430
grupo_17_2020 0:0f497d629677 431 switch(est_motor){
grupo_17_2020 0:0f497d629677 432 default:
grupo_17_2020 0:0f497d629677 433 case STANDBY:
grupo_17_2020 0:0f497d629677 434 ENAB_1 = 0;
grupo_17_2020 0:0f497d629677 435 ENAB_2 = 0;
grupo_17_2020 0:0f497d629677 436 DER_1 = 0;
grupo_17_2020 0:0f497d629677 437 IZQ_1 = 0;
grupo_17_2020 0:0f497d629677 438 DER_2 = 0;
grupo_17_2020 0:0f497d629677 439 IZQ_2 = 0;
grupo_17_2020 0:0f497d629677 440 break;
grupo_17_2020 0:0f497d629677 441 case FOWARD:
grupo_17_2020 0:0f497d629677 442
grupo_17_2020 0:0f497d629677 443 ENAB_1 = 1;
grupo_17_2020 0:0f497d629677 444 ENAB_2 = 1;
grupo_17_2020 0:0f497d629677 445 DER_1 = 1;
grupo_17_2020 0:0f497d629677 446 IZQ_1 = 0;
grupo_17_2020 0:0f497d629677 447 DER_2 = 0;
grupo_17_2020 0:0f497d629677 448 IZQ_2 = 1;
grupo_17_2020 0:0f497d629677 449 break;
grupo_17_2020 0:0f497d629677 450 case TURN_RIGHT:
grupo_17_2020 0:0f497d629677 451
grupo_17_2020 0:0f497d629677 452 if(segundos_m > 0){
grupo_17_2020 0:0f497d629677 453 IsOnLine = false;
grupo_17_2020 0:0f497d629677 454 ENAB_1 = 1;
grupo_17_2020 0:0f497d629677 455 ENAB_2 = 1;
grupo_17_2020 0:0f497d629677 456 DER_1 = 1;
grupo_17_2020 0:0f497d629677 457 IZQ_1 = 0;
grupo_17_2020 0:0f497d629677 458 DER_2 = 0;
grupo_17_2020 0:0f497d629677 459 IZQ_2 = 0;
grupo_17_2020 0:0f497d629677 460 }else{
grupo_17_2020 0:0f497d629677 461 IsOnLine = true;
grupo_17_2020 0:0f497d629677 462 }
grupo_17_2020 0:0f497d629677 463 break;
grupo_17_2020 0:0f497d629677 464 case TURN_LEFT:
grupo_17_2020 0:0f497d629677 465
grupo_17_2020 0:0f497d629677 466 if(segundos_m > 0){
grupo_17_2020 0:0f497d629677 467 IsOnLine = false;
grupo_17_2020 0:0f497d629677 468 ENAB_1 = 1;
grupo_17_2020 0:0f497d629677 469 ENAB_2 = 1;
grupo_17_2020 0:0f497d629677 470 DER_1 = 0;
grupo_17_2020 0:0f497d629677 471 IZQ_1 = 0;
grupo_17_2020 0:0f497d629677 472 DER_2 = 0;
grupo_17_2020 0:0f497d629677 473 IZQ_2 = 1;
grupo_17_2020 0:0f497d629677 474 }else{
grupo_17_2020 0:0f497d629677 475 IsOnLine = true;
grupo_17_2020 0:0f497d629677 476 }
grupo_17_2020 0:0f497d629677 477 break;
grupo_17_2020 0:0f497d629677 478 case HALF_TURN:
grupo_17_2020 0:0f497d629677 479 ;
grupo_17_2020 0:0f497d629677 480 if(segundos_m > 0){
grupo_17_2020 0:0f497d629677 481 IsOnLine = false;
grupo_17_2020 0:0f497d629677 482 ENAB_1 = 1;
grupo_17_2020 0:0f497d629677 483 ENAB_2 = 1;
grupo_17_2020 0:0f497d629677 484 DER_1 = 1;
grupo_17_2020 0:0f497d629677 485 IZQ_1 = 0;
grupo_17_2020 0:0f497d629677 486 DER_2 = 1;
grupo_17_2020 0:0f497d629677 487 IZQ_2 = 0;
grupo_17_2020 0:0f497d629677 488 }else{
grupo_17_2020 0:0f497d629677 489 IsOnLine = true;
grupo_17_2020 0:0f497d629677 490 }
grupo_17_2020 0:0f497d629677 491 break;
grupo_17_2020 0:0f497d629677 492 }
grupo_17_2020 0:0f497d629677 493
grupo_17_2020 0:0f497d629677 494 }else{
grupo_17_2020 0:0f497d629677 495 ENAB_1 = 0;
grupo_17_2020 0:0f497d629677 496 ENAB_2 = 0;
grupo_17_2020 0:0f497d629677 497 DER_1 = 0;
grupo_17_2020 0:0f497d629677 498 IZQ_1 = 0;
grupo_17_2020 0:0f497d629677 499 DER_2 = 0;
grupo_17_2020 0:0f497d629677 500 IZQ_2 = 0;
grupo_17_2020 0:0f497d629677 501 }
grupo_17_2020 0:0f497d629677 502 }
grupo_17_2020 0:0f497d629677 503
grupo_17_2020 0:0f497d629677 504 void ULTRASONICO(){
grupo_17_2020 0:0f497d629677 505 if(estado_ASPI == TRANSPORT_IDA || estado_ASPI == TRANSPORT_VUELTA){
grupo_17_2020 0:0f497d629677 506
grupo_17_2020 0:0f497d629677 507 distancia = sensor.distance();
grupo_17_2020 0:0f497d629677 508 if(distancia > DISTANCIA_STOP){
grupo_17_2020 0:0f497d629677 509 IsHCSRFree = true;
grupo_17_2020 0:0f497d629677 510 est_ultra = OFF;
grupo_17_2020 0:0f497d629677 511
grupo_17_2020 0:0f497d629677 512 }else{
grupo_17_2020 0:0f497d629677 513 IsHCSRFree = false;
grupo_17_2020 0:0f497d629677 514 est_ultra = ON;
grupo_17_2020 0:0f497d629677 515
grupo_17_2020 0:0f497d629677 516 }
grupo_17_2020 0:0f497d629677 517 }else{
grupo_17_2020 0:0f497d629677 518 IsHCSRFree = true;
grupo_17_2020 0:0f497d629677 519 }
grupo_17_2020 0:0f497d629677 520
grupo_17_2020 0:0f497d629677 521 }
grupo_17_2020 0:0f497d629677 522
grupo_17_2020 0:0f497d629677 523
grupo_17_2020 0:0f497d629677 524 void proc_post (void){
grupo_17_2020 0:0f497d629677 525 int res ;
grupo_17_2020 0:0f497d629677 526 static unsigned char proc_post_step = PROC_POST_OPEN_STATE;
grupo_17_2020 0:0f497d629677 527
grupo_17_2020 0:0f497d629677 528 if( proc_post_tic )
grupo_17_2020 0:0f497d629677 529 return;
grupo_17_2020 0:0f497d629677 530
grupo_17_2020 0:0f497d629677 531 proc_post_tic = SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 532
grupo_17_2020 0:0f497d629677 533 if(!has_ip){
grupo_17_2020 0:0f497d629677 534 proc_post_step = PROC_POST_OPEN_STATE;
grupo_17_2020 0:0f497d629677 535 return;
grupo_17_2020 0:0f497d629677 536 }
grupo_17_2020 0:0f497d629677 537
grupo_17_2020 0:0f497d629677 538 char buff_send[255];
grupo_17_2020 0:0f497d629677 539 switch(proc_post_step){
grupo_17_2020 0:0f497d629677 540 default:
grupo_17_2020 0:0f497d629677 541 case PROC_POST_OPEN_STATE:
grupo_17_2020 0:0f497d629677 542 if( sock_connect ( SOCKET_TCP, enlaceHTLM, puertoHTLM, 10000) == 0 ){
grupo_17_2020 0:0f497d629677 543 proc_post_tic = 1 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 544 proc_post_step = PROC_POST_SEND_STATE;
grupo_17_2020 0:0f497d629677 545 }else{
grupo_17_2020 0:0f497d629677 546 proc_post_tic = 10 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 547 proc_post_step = PROC_POST_OPEN_STATE;
grupo_17_2020 0:0f497d629677 548 sock_close();
grupo_17_2020 0:0f497d629677 549 }
grupo_17_2020 0:0f497d629677 550 break;
grupo_17_2020 0:0f497d629677 551
grupo_17_2020 0:0f497d629677 552 case PROC_POST_SEND_STATE:
grupo_17_2020 0:0f497d629677 553
grupo_17_2020 0:0f497d629677 554 sprintf(buff_send, "GET /estadorobotactual?estadorobot=%s HTTP/1.1\r\nHost: luckystrike051.pythonanywhere.com\r\nConnection: Close\r\n\r\n", string_est_aspi);
grupo_17_2020 0:0f497d629677 555
grupo_17_2020 0:0f497d629677 556 res = sock_send ( (unsigned char *)buff_send,
grupo_17_2020 0:0f497d629677 557 strlen(buff_send), 25000);
grupo_17_2020 0:0f497d629677 558
grupo_17_2020 0:0f497d629677 559 DBG.printf("proc_post: send: (%d)%s\r\n", res, buff_send);
grupo_17_2020 0:0f497d629677 560 if( res > 0 ){
grupo_17_2020 0:0f497d629677 561 proc_post_tic = SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 562 proc_post_step = PROC_POST_RECV_STATE;
grupo_17_2020 0:0f497d629677 563 DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 564 }else{
grupo_17_2020 0:0f497d629677 565 proc_post_tic = 2 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 566 proc_post_step = PROC_POST_CLOSE_STATE;
grupo_17_2020 0:0f497d629677 567 DBG.printf("-proc_posrt: -> [%d] PROC_POST_CLOSE\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 568 }
grupo_17_2020 0:0f497d629677 569 break;
grupo_17_2020 0:0f497d629677 570
grupo_17_2020 0:0f497d629677 571 case PROC_POST_RECV_STATE:
grupo_17_2020 0:0f497d629677 572 res = sock_recv ( buffer_data_http, 250, 500 );
grupo_17_2020 0:0f497d629677 573
grupo_17_2020 0:0f497d629677 574 if(estado_ASPI != STANDBY_COCINA || estado_ASPI != TRANSPORT_VUELTA){
grupo_17_2020 0:0f497d629677 575 segundos_send = 40;
grupo_17_2020 0:0f497d629677 576 }else{
grupo_17_2020 0:0f497d629677 577 segundos_send = 0;
grupo_17_2020 0:0f497d629677 578 }
grupo_17_2020 0:0f497d629677 579
grupo_17_2020 0:0f497d629677 580 DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV:%d\r\n", __LINE__, res );
grupo_17_2020 0:0f497d629677 581
grupo_17_2020 0:0f497d629677 582 if( res > 0 ){
grupo_17_2020 0:0f497d629677 583 if (strstr ((char*)buffer_data_http, "200 OK")){
grupo_17_2020 0:0f497d629677 584 DBG.printf("proc_posrt: -> [%d] 200 OK\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 585 }
grupo_17_2020 0:0f497d629677 586 }
grupo_17_2020 0:0f497d629677 587 proc_post_tic = SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 588 proc_post_step = PROC_POST_CLOSE_STATE;
grupo_17_2020 0:0f497d629677 589 DBG.printf("proc_posrt: -> [%d] PROC_POST_CLOSE_STATE\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 590 break;
grupo_17_2020 0:0f497d629677 591
grupo_17_2020 0:0f497d629677 592 case PROC_POST_CLOSE_STATE:
grupo_17_2020 0:0f497d629677 593
grupo_17_2020 0:0f497d629677 594 for(int i = 0; i < 255; i++){
grupo_17_2020 0:0f497d629677 595 buffer_data_http[i] = 0;
grupo_17_2020 0:0f497d629677 596 buff_send[i] = 0;
grupo_17_2020 0:0f497d629677 597
grupo_17_2020 0:0f497d629677 598 }
grupo_17_2020 0:0f497d629677 599
grupo_17_2020 0:0f497d629677 600
grupo_17_2020 0:0f497d629677 601 proc_post_tic = 10 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 602 proc_post_step = PROC_POST_OPEN_REQUEST;
grupo_17_2020 0:0f497d629677 603
grupo_17_2020 0:0f497d629677 604 break;
grupo_17_2020 0:0f497d629677 605
grupo_17_2020 0:0f497d629677 606 case PROC_POST_OPEN_REQUEST:
grupo_17_2020 0:0f497d629677 607 if(estado_ASPI == STANDBY_COCINA || estado_ASPI == TRANSPORT_VUELTA && segundos == 0){
grupo_17_2020 0:0f497d629677 608 if( sock_connect ( SOCKET_TCP, enlaceHTLM, puertoHTLM, 10000) == 0 ){
grupo_17_2020 0:0f497d629677 609 proc_post_tic = 1 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 610 proc_post_step = PROC_POST_SEND_REQUEST;
grupo_17_2020 0:0f497d629677 611 }else{
grupo_17_2020 0:0f497d629677 612
grupo_17_2020 0:0f497d629677 613 proc_post_tic = 10 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 614 proc_post_step = PROC_POST_OPEN_REQUEST;
grupo_17_2020 0:0f497d629677 615 sock_close();
grupo_17_2020 0:0f497d629677 616 }
grupo_17_2020 0:0f497d629677 617 }else{
grupo_17_2020 0:0f497d629677 618 proc_post_step = PROC_POST_OPEN_HCSR;
grupo_17_2020 0:0f497d629677 619 }
grupo_17_2020 0:0f497d629677 620 break;
grupo_17_2020 0:0f497d629677 621
grupo_17_2020 0:0f497d629677 622 case PROC_POST_SEND_REQUEST:
grupo_17_2020 0:0f497d629677 623
grupo_17_2020 0:0f497d629677 624 sprintf(buff_send, "GET /showubicacionrobotactual HTTP/1.1\r\nHost: luckystrike051.pythonanywhere.com\r\nConnection: Close\r\n\r\n");
grupo_17_2020 0:0f497d629677 625
grupo_17_2020 0:0f497d629677 626 res = sock_send ( (unsigned char *)buff_send,
grupo_17_2020 0:0f497d629677 627 strlen(buff_send), 25000);
grupo_17_2020 0:0f497d629677 628 DBG.printf("proc_post: send: (%d)%s\r\n", res, buff_send);
grupo_17_2020 0:0f497d629677 629 if( res > 0 ){
grupo_17_2020 0:0f497d629677 630 proc_post_tic = SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 631 proc_post_step = PROC_POST_RECV_REQUEST;
grupo_17_2020 0:0f497d629677 632 DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV_REQUEST\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 633 }else{
grupo_17_2020 0:0f497d629677 634 proc_post_tic = 2 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 635 proc_post_step = PROC_POST_CLOSE_REQUEST;
grupo_17_2020 0:0f497d629677 636 DBG.printf("-proc_posrt: -> [%d] PROC_POST_CLOSE_REQUEST\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 637 }
grupo_17_2020 0:0f497d629677 638 break;
grupo_17_2020 0:0f497d629677 639
grupo_17_2020 0:0f497d629677 640 case PROC_POST_RECV_REQUEST:
grupo_17_2020 0:0f497d629677 641 res = sock_recv ( buffer_data_http, 250, 500 );
grupo_17_2020 0:0f497d629677 642 DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV:%d\r\n", __LINE__, res );
grupo_17_2020 0:0f497d629677 643
grupo_17_2020 0:0f497d629677 644 for(int i = 0; i < strlen((char*)buffer_data_http); i++){
grupo_17_2020 0:0f497d629677 645
grupo_17_2020 0:0f497d629677 646 if(buffer_data_http[i] == 'E'){
grupo_17_2020 0:0f497d629677 647
grupo_17_2020 0:0f497d629677 648 for(int a = i; a < strlen((char*)buffer_data_http); a++){
grupo_17_2020 0:0f497d629677 649 buffer_memo[a-i] = buffer_data_http[a+1];
grupo_17_2020 0:0f497d629677 650
grupo_17_2020 0:0f497d629677 651 if(buffer_data_http[a] == 'T'){
grupo_17_2020 0:0f497d629677 652 IsFoodReady = true;
grupo_17_2020 0:0f497d629677 653 i = a;
grupo_17_2020 0:0f497d629677 654 break;
grupo_17_2020 0:0f497d629677 655 }
grupo_17_2020 0:0f497d629677 656 }
grupo_17_2020 0:0f497d629677 657 }
grupo_17_2020 0:0f497d629677 658 }
grupo_17_2020 0:0f497d629677 659
grupo_17_2020 0:0f497d629677 660 if( res > 0 ){
grupo_17_2020 0:0f497d629677 661 if (strstr ((char*)buffer_data_http, "200 OK")){
grupo_17_2020 0:0f497d629677 662 DBG.printf("proc_posrt: -> [%d] 200 OK\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 663 }
grupo_17_2020 0:0f497d629677 664 }
grupo_17_2020 0:0f497d629677 665 proc_post_tic = SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 666 proc_post_step = PROC_POST_CLOSE_REQUEST;
grupo_17_2020 0:0f497d629677 667 DBG.printf("proc_posrt: -> [%d] PROC_POST_CLOSE\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 668 break;
grupo_17_2020 0:0f497d629677 669
grupo_17_2020 0:0f497d629677 670 case PROC_POST_CLOSE_REQUEST:
grupo_17_2020 0:0f497d629677 671
grupo_17_2020 0:0f497d629677 672 proc_post_tic = 10 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 673
grupo_17_2020 0:0f497d629677 674 proc_post_step = PROC_POST_OPEN_HCSR;
grupo_17_2020 0:0f497d629677 675
grupo_17_2020 0:0f497d629677 676 break;
grupo_17_2020 0:0f497d629677 677
grupo_17_2020 0:0f497d629677 678 case PROC_POST_OPEN_HCSR:
grupo_17_2020 0:0f497d629677 679 if(IsHCSRFree == false){
grupo_17_2020 0:0f497d629677 680 if( sock_connect ( SOCKET_TCP, enlaceHTLM, puertoHTLM, 10000) == 0 ){
grupo_17_2020 0:0f497d629677 681 proc_post_tic = 1 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 682 proc_post_step = PROC_POST_SEND_HCSR;
grupo_17_2020 0:0f497d629677 683 }else{
grupo_17_2020 0:0f497d629677 684
grupo_17_2020 0:0f497d629677 685 proc_post_tic = 10 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 686 proc_post_step = PROC_POST_OPEN_HCSR;
grupo_17_2020 0:0f497d629677 687 sock_close();
grupo_17_2020 0:0f497d629677 688 }
grupo_17_2020 0:0f497d629677 689 }else{
grupo_17_2020 0:0f497d629677 690 proc_post_step = PROC_POST_OPEN_STATE;
grupo_17_2020 0:0f497d629677 691 }
grupo_17_2020 0:0f497d629677 692 break;
grupo_17_2020 0:0f497d629677 693
grupo_17_2020 0:0f497d629677 694 case PROC_POST_SEND_HCSR:
grupo_17_2020 0:0f497d629677 695
grupo_17_2020 0:0f497d629677 696 sprintf(buff_send, "GET /estadorobotactual?estadorobot=ME TRABE CUANDO ESTABA %s HTTP/1.1\r\nHost: luckystrike051.pythonanywhere.com\r\nConnection: Close\r\n\r\n", string_est_aspi);
grupo_17_2020 0:0f497d629677 697
grupo_17_2020 0:0f497d629677 698
grupo_17_2020 0:0f497d629677 699 res = sock_send ( (unsigned char *)buff_send,
grupo_17_2020 0:0f497d629677 700 strlen(buff_send), 25000);
grupo_17_2020 0:0f497d629677 701 DBG.printf("proc_post: send: (%d)%s\r\n", res, buff_send);
grupo_17_2020 0:0f497d629677 702 if( res > 0 ){
grupo_17_2020 0:0f497d629677 703 proc_post_tic = SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 704 proc_post_step = PROC_POST_RECV_HCSR;
grupo_17_2020 0:0f497d629677 705 DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 706 }else{
grupo_17_2020 0:0f497d629677 707 proc_post_tic = 2 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 708 proc_post_step = PROC_POST_CLOSE_HCSR;
grupo_17_2020 0:0f497d629677 709 DBG.printf("-proc_posrt: -> [%d] PROC_POST_CLOSE\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 710 }
grupo_17_2020 0:0f497d629677 711 break;
grupo_17_2020 0:0f497d629677 712
grupo_17_2020 0:0f497d629677 713 case PROC_POST_RECV_HCSR:
grupo_17_2020 0:0f497d629677 714 res = sock_recv ( buffer_data_http, 250, 500 );
grupo_17_2020 0:0f497d629677 715
grupo_17_2020 0:0f497d629677 716 DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV:%d\r\n", __LINE__, res );
grupo_17_2020 0:0f497d629677 717
grupo_17_2020 0:0f497d629677 718 if( res > 0 ){
grupo_17_2020 0:0f497d629677 719 if (strstr ((char*)buffer_data_http, "200 OK")){
grupo_17_2020 0:0f497d629677 720 DBG.printf("proc_posrt: -> [%d] 200 OK\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 721 }
grupo_17_2020 0:0f497d629677 722 }
grupo_17_2020 0:0f497d629677 723 proc_post_tic = SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 724 proc_post_step = PROC_POST_CLOSE_HCSR;
grupo_17_2020 0:0f497d629677 725 DBG.printf("proc_posrt: -> [%d] PROC_POST_CLOSE_STATE\r\n", __LINE__ );
grupo_17_2020 0:0f497d629677 726 break;
grupo_17_2020 0:0f497d629677 727
grupo_17_2020 0:0f497d629677 728 case PROC_POST_CLOSE_HCSR:
grupo_17_2020 0:0f497d629677 729
grupo_17_2020 0:0f497d629677 730 proc_post_tic = 10 * SYSTEM_TICKER_1_SEG;
grupo_17_2020 0:0f497d629677 731 proc_post_step = PROC_POST_OPEN_STATE;
grupo_17_2020 0:0f497d629677 732
grupo_17_2020 0:0f497d629677 733 break;
grupo_17_2020 0:0f497d629677 734
grupo_17_2020 0:0f497d629677 735 }
grupo_17_2020 0:0f497d629677 736 }
grupo_17_2020 0:0f497d629677 737
grupo_17_2020 0:0f497d629677 738 //contador para no sobreponer colores
grupo_17_2020 0:0f497d629677 739 void conta(){
grupo_17_2020 0:0f497d629677 740
grupo_17_2020 0:0f497d629677 741 if(segundos > 0){
grupo_17_2020 0:0f497d629677 742 segundos--;
grupo_17_2020 0:0f497d629677 743 }
grupo_17_2020 0:0f497d629677 744 }
grupo_17_2020 0:0f497d629677 745
grupo_17_2020 0:0f497d629677 746 //contador motores
grupo_17_2020 0:0f497d629677 747 void conta_m(){
grupo_17_2020 0:0f497d629677 748 if(IsHCSRFree){
grupo_17_2020 0:0f497d629677 749 if(segundos_m > 0){
grupo_17_2020 0:0f497d629677 750 segundos_m--;
grupo_17_2020 0:0f497d629677 751 }
grupo_17_2020 0:0f497d629677 752 }
grupo_17_2020 0:0f497d629677 753 }
grupo_17_2020 0:0f497d629677 754
grupo_17_2020 0:0f497d629677 755 //contador para no sobreponer colores
grupo_17_2020 0:0f497d629677 756 void conta_send(){
grupo_17_2020 0:0f497d629677 757 //DBG.printf("%d_", segundos);
grupo_17_2020 0:0f497d629677 758 if(segundos_send > 0){
grupo_17_2020 0:0f497d629677 759 segundos_send--;
grupo_17_2020 0:0f497d629677 760 }
grupo_17_2020 0:0f497d629677 761 }
grupo_17_2020 0:0f497d629677 762
grupo_17_2020 0:0f497d629677 763 // contador de tic de wifi
grupo_17_2020 0:0f497d629677 764 void proc_post_tic_cb (){
grupo_17_2020 0:0f497d629677 765 if (proc_post_tic)
grupo_17_2020 0:0f497d629677 766 proc_post_tic-- ;
grupo_17_2020 0:0f497d629677 767 }
grupo_17_2020 0:0f497d629677 768
grupo_17_2020 0:0f497d629677 769 //contador de duty de sensor de color (start)
grupo_17_2020 0:0f497d629677 770 void Ascend(){
grupo_17_2020 0:0f497d629677 771 cont.start();
grupo_17_2020 0:0f497d629677 772 }
grupo_17_2020 0:0f497d629677 773
grupo_17_2020 0:0f497d629677 774 //contador de duty de sensor de color (stop n store)
grupo_17_2020 0:0f497d629677 775 void Desend(){
grupo_17_2020 0:0f497d629677 776 cont.stop();
grupo_17_2020 0:0f497d629677 777 util = cont.read_us();
grupo_17_2020 0:0f497d629677 778 cont.reset();
grupo_17_2020 0:0f497d629677 779 }