Debug Serial para programa resetar o buffer quando houver tamanhos errados na mensagem
Dependencies: pulga-lorawan-drv PingPong-P2P-ClickButtonToWork-SX1272
main.cpp@6:c305f2aa79a4, 2021-03-17 (annotated)
- Committer:
- afzalsamira
- Date:
- Wed Mar 17 20:14:13 2021 +0000
- Revision:
- 6:c305f2aa79a4
- Parent:
- 5:ef21a65a3450
- Child:
- 7:37dc9ce68914
p2p-clickbuttonToPpingPong
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cdupaty | 0:9859cc8476f2 | 1 | #include "mbed.h" |
marcoantonioara | 5:ef21a65a3450 | 2 | #include "bme280.txt" |
cdupaty | 0:9859cc8476f2 | 3 | |
cdupaty | 2:4eef0eca4d26 | 4 | /////////////////////////////////////// |
cdupaty | 2:4eef0eca4d26 | 5 | // Globals variables |
cdupaty | 2:4eef0eca4d26 | 6 | /////////////////////////////////////// |
marcoantonioara | 3:cbe3f441353e | 7 | |
marcoantonioara | 5:ef21a65a3450 | 8 | //declaraao gerais |
marcoantonioara | 3:cbe3f441353e | 9 | DigitalOut led1(P1_13); |
marcoantonioara | 3:cbe3f441353e | 10 | DigitalOut led2(P1_14); |
marcoantonioara | 3:cbe3f441353e | 11 | InterruptIn dio0(P0_12); |
marcoantonioara | 3:cbe3f441353e | 12 | DigitalIn button1(P1_11); |
marcoantonioara | 3:cbe3f441353e | 13 | DigitalIn button2(P1_12); |
marcoantonioara | 3:cbe3f441353e | 14 | DigitalIn button3(P0_30); |
marcoantonioara | 3:cbe3f441353e | 15 | |
marcoantonioara | 3:cbe3f441353e | 16 | EventQueue queue; |
marcoantonioara | 3:cbe3f441353e | 17 | |
marcoantonioara | 5:ef21a65a3450 | 18 | //============= internet of turtles ============= |
marcoantonioara | 3:cbe3f441353e | 19 | Timer time_breathing; |
marcoantonioara | 3:cbe3f441353e | 20 | Timer time_diving; |
marcoantonioara | 3:cbe3f441353e | 21 | bool beathing = false; |
marcoantonioara | 3:cbe3f441353e | 22 | float last_breathing_time = 0.0; |
marcoantonioara | 3:cbe3f441353e | 23 | float last_diving_time = 0.0; |
marcoantonioara | 3:cbe3f441353e | 24 | |
marcoantonioara | 3:cbe3f441353e | 25 | char float_breathing_time[10]; |
marcoantonioara | 3:cbe3f441353e | 26 | char float_diving_time[10]; |
marcoantonioara | 3:cbe3f441353e | 27 | |
afzalsamira | 6:c305f2aa79a4 | 28 | ///////////// |
afzalsamira | 6:c305f2aa79a4 | 29 | //tESTING INPUT AND OUTPUT |
afzalsamira | 6:c305f2aa79a4 | 30 | ////////////// |
afzalsamira | 6:c305f2aa79a4 | 31 | |
marcoantonioara | 5:ef21a65a3450 | 32 | //Timer seconds; |
marcoantonioara | 3:cbe3f441353e | 33 | //================================================ |
marcoantonioara | 3:cbe3f441353e | 34 | |
marcoantonioara | 5:ef21a65a3450 | 35 | #include "lora.txt" |
marcoantonioara | 3:cbe3f441353e | 36 | |
marcoantonioara | 5:ef21a65a3450 | 37 | int main(void) { |
marcoantonioara | 3:cbe3f441353e | 38 | |
marcoantonioara | 3:cbe3f441353e | 39 | |
marcoantonioara | 3:cbe3f441353e | 40 | |
marcoantonioara | 5:ef21a65a3450 | 41 | /////////////////////////////////////// |
marcoantonioara | 5:ef21a65a3450 | 42 | // Variables |
marcoantonioara | 5:ef21a65a3450 | 43 | /////////////////////////////////////// |
marcoantonioara | 3:cbe3f441353e | 44 | |
marcoantonioara | 3:cbe3f441353e | 45 | |
marcoantonioara | 5:ef21a65a3450 | 46 | |
marcoantonioara | 5:ef21a65a3450 | 47 | // uint8_t big_message[] = "1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm01234567890123456789"; |
marcoantonioara | 5:ef21a65a3450 | 48 | // uint8_t reset_message[] = "Reset"; |
marcoantonioara | 3:cbe3f441353e | 49 | |
marcoantonioara | 5:ef21a65a3450 | 50 | //long int time_start = seconds.read(); |
marcoantonioara | 5:ef21a65a3450 | 51 | //printf ("timestart=%d leitura = %d\n",time_start,seconds.read()); |
marcoantonioara | 3:cbe3f441353e | 52 | |
marcoantonioara | 3:cbe3f441353e | 53 | |
marcoantonioara | 5:ef21a65a3450 | 54 | /////////////////////////////////////// |
marcoantonioara | 5:ef21a65a3450 | 55 | // Configuration |
marcoantonioara | 5:ef21a65a3450 | 56 | /////////////////////////////////////// |
marcoantonioara | 3:cbe3f441353e | 57 | |
afzalsamira | 6:c305f2aa79a4 | 58 | printf(" Turning the LEDs on ..\n"); |
marcoantonioara | 5:ef21a65a3450 | 59 | led1=1;//----on leds--- |
marcoantonioara | 3:cbe3f441353e | 60 | led2=1; |
marcoantonioara | 3:cbe3f441353e | 61 | |
marcoantonioara | 5:ef21a65a3450 | 62 | //____Configuration bme280 |
marcoantonioara | 5:ef21a65a3450 | 63 | bme_init(); |
marcoantonioara | 5:ef21a65a3450 | 64 | |
marcoantonioara | 5:ef21a65a3450 | 65 | //____Configuration Lora |
marcoantonioara | 3:cbe3f441353e | 66 | Thread eventThread; |
marcoantonioara | 3:cbe3f441353e | 67 | eventThread.start(callback(&queue, &EventQueue::dispatch_forever)); |
marcoantonioara | 3:cbe3f441353e | 68 | |
marcoantonioara | 5:ef21a65a3450 | 69 | dio0.rise(queue.event(&print_packet)); //configure interrupt rotine ro recieve packet |
marcoantonioara | 3:cbe3f441353e | 70 | setup(); //configura sx1272 |
marcoantonioara | 5:ef21a65a3450 | 71 | |
marcoantonioara | 3:cbe3f441353e | 72 | //TESTE_COMUNICAÇAO LABRADOR |
marcoantonioara | 3:cbe3f441353e | 73 | //sx1272.writeRegister(0x0B,0x3B); |
marcoantonioara | 3:cbe3f441353e | 74 | //sx1272.writeRegister(0x18,0x10); |
marcoantonioara | 3:cbe3f441353e | 75 | //sx1272.writeRegister(0x33,0x26); |
marcoantonioara | 5:ef21a65a3450 | 76 | // sx1272.writeRegister(REG_MODEM_CONFIG1,0x0D); |
marcoantonioara | 5:ef21a65a3450 | 77 | // sx1272.writeRegister(REG_MODEM_CONFIG2,0xC4); |
marcoantonioara | 5:ef21a65a3450 | 78 | |
marcoantonioara | 3:cbe3f441353e | 79 | sx1272.writeRegister(REG_OP_MODE,133); //leitura continua |
marcoantonioara | 5:ef21a65a3450 | 80 | sx1272.writeRegister(REG_IRQ_FLAGS_MASK,187);//configure interrupt mask to interrupt only when a packet receive and packet envied |
afzalsamira | 6:c305f2aa79a4 | 81 | |
afzalsamira | 6:c305f2aa79a4 | 82 | printf("Turning the LEDs off ..\n"); |
marcoantonioara | 5:ef21a65a3450 | 83 | led1=0;//----off leds--- |
marcoantonioara | 3:cbe3f441353e | 84 | led2=0; |
marcoantonioara | 3:cbe3f441353e | 85 | |
marcoantonioara | 3:cbe3f441353e | 86 | |
marcoantonioara | 5:ef21a65a3450 | 87 | |
marcoantonioara | 5:ef21a65a3450 | 88 | |
marcoantonioara | 5:ef21a65a3450 | 89 | /////////////////////////////////////// |
marcoantonioara | 5:ef21a65a3450 | 90 | //LOOP |
marcoantonioara | 5:ef21a65a3450 | 91 | /////////////////////////////////////// |
marcoantonioara | 5:ef21a65a3450 | 92 | |
marcoantonioara | 5:ef21a65a3450 | 93 | while(1){ |
afzalsamira | 6:c305f2aa79a4 | 94 | |
marcoantonioara | 5:ef21a65a3450 | 95 | if (!button1){ |
afzalsamira | 6:c305f2aa79a4 | 96 | //test scanf |
afzalsamira | 6:c305f2aa79a4 | 97 | //led1=1; |
afzalsamira | 6:c305f2aa79a4 | 98 | //led2=1; |
afzalsamira | 6:c305f2aa79a4 | 99 | //char ch; |
afzalsamira | 6:c305f2aa79a4 | 100 | // printf("Enter one char"); |
afzalsamira | 6:c305f2aa79a4 | 101 | //scanf("%c", &ch); |
afzalsamira | 6:c305f2aa79a4 | 102 | // printf("%c\n",ch); |
afzalsamira | 6:c305f2aa79a4 | 103 | |
afzalsamira | 6:c305f2aa79a4 | 104 | |
afzalsamira | 6:c305f2aa79a4 | 105 | printf("SENDING PING\n"); |
afzalsamira | 6:c305f2aa79a4 | 106 | send_data(PING); |
afzalsamira | 6:c305f2aa79a4 | 107 | // send_data(DATA); |
afzalsamira | 6:c305f2aa79a4 | 108 | |
afzalsamira | 6:c305f2aa79a4 | 109 | |
marcoantonioara | 5:ef21a65a3450 | 110 | } |
afzalsamira | 6:c305f2aa79a4 | 111 | |
marcoantonioara | 5:ef21a65a3450 | 112 | // if (button3 != beathing) { |
marcoantonioara | 5:ef21a65a3450 | 113 | // beathing = !beathing; |
marcoantonioara | 5:ef21a65a3450 | 114 | // if(button3){ |
marcoantonioara | 5:ef21a65a3450 | 115 | // send_packet(DATA); |
marcoantonioara | 5:ef21a65a3450 | 116 | // |
marcoantonioara | 5:ef21a65a3450 | 117 | // time_breathing.reset(); |
marcoantonioara | 5:ef21a65a3450 | 118 | // time_breathing.start(); |
marcoantonioara | 5:ef21a65a3450 | 119 | // |
marcoantonioara | 5:ef21a65a3450 | 120 | // time_diving.stop(); |
marcoantonioara | 5:ef21a65a3450 | 121 | // last_diving_time = time_diving.read(); |
marcoantonioara | 5:ef21a65a3450 | 122 | // } |
marcoantonioara | 5:ef21a65a3450 | 123 | // else{ |
marcoantonioara | 5:ef21a65a3450 | 124 | // time_diving.reset(); |
marcoantonioara | 5:ef21a65a3450 | 125 | // time_diving.start(); |
marcoantonioara | 5:ef21a65a3450 | 126 | // |
marcoantonioara | 5:ef21a65a3450 | 127 | // time_breathing.stop(); |
marcoantonioara | 5:ef21a65a3450 | 128 | // last_breathing_time = time_breathing.read(); |
marcoantonioara | 5:ef21a65a3450 | 129 | // |
marcoantonioara | 5:ef21a65a3450 | 130 | // } |
marcoantonioara | 5:ef21a65a3450 | 131 | // |
marcoantonioara | 5:ef21a65a3450 | 132 | // } |
marcoantonioara | 5:ef21a65a3450 | 133 | // if (button3){ |
marcoantonioara | 5:ef21a65a3450 | 134 | // // send_data(DATA); |
marcoantonioara | 5:ef21a65a3450 | 135 | //// send_packet(big_message,sizeof(big_message)); |
marcoantonioara | 5:ef21a65a3450 | 136 | //// send_packet(reset_message,sizeof(reset_message)); |
marcoantonioara | 5:ef21a65a3450 | 137 | //// wait_ms(400); |
marcoantonioara | 5:ef21a65a3450 | 138 | |
marcoantonioara | 3:cbe3f441353e | 139 | |
marcoantonioara | 5:ef21a65a3450 | 140 | |
marcoantonioara | 3:cbe3f441353e | 141 | wait_ms(50); |
marcoantonioara | 3:cbe3f441353e | 142 | } |
marcoantonioara | 3:cbe3f441353e | 143 | |
marcoantonioara | 3:cbe3f441353e | 144 | } |
afzalsamira | 6:c305f2aa79a4 | 145 | |
afzalsamira | 6:c305f2aa79a4 | 146 | /* |
afzalsamira | 6:c305f2aa79a4 | 147 | |
afzalsamira | 6:c305f2aa79a4 | 148 | //////// |
afzalsamira | 6:c305f2aa79a4 | 149 | //TESTING fREQUENCY CONFIGURATION |
afzalsamira | 6:c305f2aa79a4 | 150 | //////////////// |
afzalsamira | 6:c305f2aa79a4 | 151 | |
afzalsamira | 6:c305f2aa79a4 | 152 | |
afzalsamira | 6:c305f2aa79a4 | 153 | |
afzalsamira | 6:c305f2aa79a4 | 154 | #include "lora.txt" |
afzalsamira | 6:c305f2aa79a4 | 155 | |
afzalsamira | 6:c305f2aa79a4 | 156 | int main(void) { |
afzalsamira | 6:c305f2aa79a4 | 157 | |
afzalsamira | 6:c305f2aa79a4 | 158 | uint8_t config_message[] = "1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm01234567890123456789"; |
afzalsamira | 6:c305f2aa79a4 | 159 | |
afzalsamira | 6:c305f2aa79a4 | 160 | |
afzalsamira | 6:c305f2aa79a4 | 161 | led1=1;//----on leds--- |
afzalsamira | 6:c305f2aa79a4 | 162 | led2=1; |
afzalsamira | 6:c305f2aa79a4 | 163 | |
afzalsamira | 6:c305f2aa79a4 | 164 | //____Configuration bme280 |
afzalsamira | 6:c305f2aa79a4 | 165 | bme_init(); |
afzalsamira | 6:c305f2aa79a4 | 166 | |
afzalsamira | 6:c305f2aa79a4 | 167 | //____Configuration Lora |
afzalsamira | 6:c305f2aa79a4 | 168 | Thread eventThread; |
afzalsamira | 6:c305f2aa79a4 | 169 | eventThread.start(callback(&queue, &EventQueue::dispatch_forever)); |
afzalsamira | 6:c305f2aa79a4 | 170 | |
afzalsamira | 6:c305f2aa79a4 | 171 | dio0.rise(queue.event(&print_packet)); //configure interrupt rotine ro recieve packet |
afzalsamira | 6:c305f2aa79a4 | 172 | setup(); //configura sx1272 |
afzalsamira | 6:c305f2aa79a4 | 173 | |
afzalsamira | 6:c305f2aa79a4 | 174 | sx1272.writeRegister(REG_OP_MODE,133); //leitura continua |
afzalsamira | 6:c305f2aa79a4 | 175 | sx1272.writeRegister(REG_IRQ_FLAGS_MASK,187);//configure interrupt mask to interrupt only when a packet receive and packet envied |
afzalsamira | 6:c305f2aa79a4 | 176 | |
afzalsamira | 6:c305f2aa79a4 | 177 | led1=0;//----off leds--- |
afzalsamira | 6:c305f2aa79a4 | 178 | led2=0; |
afzalsamira | 6:c305f2aa79a4 | 179 | |
afzalsamira | 6:c305f2aa79a4 | 180 | printf("PROGRAM STARTS\n"); |
afzalsamira | 6:c305f2aa79a4 | 181 | while(1){ |
afzalsamira | 6:c305f2aa79a4 | 182 | |
afzalsamira | 6:c305f2aa79a4 | 183 | led1=1; |
afzalsamira | 6:c305f2aa79a4 | 184 | led2=1; |
afzalsamira | 6:c305f2aa79a4 | 185 | send_data(PING); |
afzalsamira | 6:c305f2aa79a4 | 186 | led2=0; |
afzalsamira | 6:c305f2aa79a4 | 187 | |
afzalsamira | 6:c305f2aa79a4 | 188 | |
afzalsamira | 6:c305f2aa79a4 | 189 | // if (button3){ |
afzalsamira | 6:c305f2aa79a4 | 190 | // // send_data(DATA); |
afzalsamira | 6:c305f2aa79a4 | 191 | //// send_packet(big_message,sizeof(big_message)); |
afzalsamira | 6:c305f2aa79a4 | 192 | //// send_packet(reset_message,sizeof(reset_message)); |
afzalsamira | 6:c305f2aa79a4 | 193 | //// wait_ms(400); |
afzalsamira | 6:c305f2aa79a4 | 194 | wait_ms(500); |
afzalsamira | 6:c305f2aa79a4 | 195 | } |
afzalsamira | 6:c305f2aa79a4 | 196 | |
afzalsamira | 6:c305f2aa79a4 | 197 | } |
afzalsamira | 6:c305f2aa79a4 | 198 | */ |