Samira Afzal / Lora_SX1272_serial_apr29-rssi

Dependencies:   pulga-lorawan-drv SX1272

Committer:
MatteusCarr
Date:
Thu Apr 29 16:54:10 2021 +0000
Revision:
15:b27ab44dc2c8
Parent:
10:f6ff8ec221ec
Debug travamento para resetar e nao travar

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pancotinho 9:cf555a570349 1
cdupaty 0:9859cc8476f2 2 #include "mbed.h"
pancotinho 7:37dc9ce68914 3 #include "serial.h"
pancotinho 7:37dc9ce68914 4 #include "lora.h"
pancotinho 10:f6ff8ec221ec 5 #include "gps.h"
pancotinho 9:cf555a570349 6
pancotinho 9:cf555a570349 7
cdupaty 2:4eef0eca4d26 8 ///////////////////////////////////////
cdupaty 2:4eef0eca4d26 9 // Globals variables
cdupaty 2:4eef0eca4d26 10 ///////////////////////////////////////
marcoantonioara 3:cbe3f441353e 11
pancotinho 7:37dc9ce68914 12 //declaracoes gerais
pancotinho 7:37dc9ce68914 13
marcoantonioara 3:cbe3f441353e 14 InterruptIn dio0(P0_12);
marcoantonioara 3:cbe3f441353e 15 DigitalIn button1(P1_11);
marcoantonioara 3:cbe3f441353e 16
marcoantonioara 3:cbe3f441353e 17 EventQueue queue;
marcoantonioara 3:cbe3f441353e 18
pancotinho 7:37dc9ce68914 19 void serial_post_to_queue(void);
pancotinho 7:37dc9ce68914 20
marcoantonioara 3:cbe3f441353e 21
pancotinho 7:37dc9ce68914 22 void serial_rx(){
pancotinho 7:37dc9ce68914 23 if(pc.readable()){
pancotinho 7:37dc9ce68914 24 pc.printf("rx: %c\n", pc.getc());
pancotinho 7:37dc9ce68914 25 }
pancotinho 7:37dc9ce68914 26 pc.attach(&serial_post_to_queue, RawSerial::RxIrq);
pancotinho 7:37dc9ce68914 27 return;
pancotinho 7:37dc9ce68914 28 }
pancotinho 7:37dc9ce68914 29
pancotinho 7:37dc9ce68914 30 void serial_post_to_queue(void){
pancotinho 7:37dc9ce68914 31 //disable serial rx interrupt
pancotinho 7:37dc9ce68914 32 pc.attach(NULL, RawSerial::RxIrq);
pancotinho 7:37dc9ce68914 33 //enqueue the serial rx reception as a normal task
pancotinho 7:37dc9ce68914 34 queue.call(SerialRx);
pancotinho 8:856f7a8cc20c 35 //queue.event(&SerialRx);
pancotinho 7:37dc9ce68914 36 return;
pancotinho 7:37dc9ce68914 37 }
marcoantonioara 3:cbe3f441353e 38
marcoantonioara 3:cbe3f441353e 39
marcoantonioara 5:ef21a65a3450 40 int main(void) {
MatteusCarr 15:b27ab44dc2c8 41 pc.printf("bora comecar");
marcoantonioara 5:ef21a65a3450 42 ///////////////////////////////////////
marcoantonioara 5:ef21a65a3450 43 // Configuration
marcoantonioara 5:ef21a65a3450 44 ///////////////////////////////////////
pancotinho 7:37dc9ce68914 45
marcoantonioara 3:cbe3f441353e 46
pancotinho 7:37dc9ce68914 47 pc.printf("init\n");
pancotinho 7:37dc9ce68914 48 pc.baud(9600);
MatteusCarr 15:b27ab44dc2c8 49 pc.printf("baud 9600");
pancotinho 7:37dc9ce68914 50 pc.printf("config9600\n");
pancotinho 9:cf555a570349 51
pancotinho 7:37dc9ce68914 52 //enable serial rx interrupt
pancotinho 8:856f7a8cc20c 53 //pc.attach(&serial_post_to_queue, RawSerial::RxIrq);
pancotinho 9:cf555a570349 54 wait_ms(250);
MatteusCarr 15:b27ab44dc2c8 55 pc.printf("waitou 250ms");
pancotinho 9:cf555a570349 56
marcoantonioara 5:ef21a65a3450 57
marcoantonioara 5:ef21a65a3450 58 //____Configuration Lora
marcoantonioara 3:cbe3f441353e 59 Thread eventThread;
marcoantonioara 3:cbe3f441353e 60 eventThread.start(callback(&queue, &EventQueue::dispatch_forever));
marcoantonioara 3:cbe3f441353e 61
marcoantonioara 5:ef21a65a3450 62 dio0.rise(queue.event(&print_packet)); //configure interrupt rotine ro recieve packet
pancotinho 8:856f7a8cc20c 63 pc.attach(&SerialRx, RawSerial::RxIrq);
marcoantonioara 3:cbe3f441353e 64 setup(); //configura sx1272
pancotinho 10:f6ff8ec221ec 65 //gps_config();
pancotinho 10:f6ff8ec221ec 66 //gps_leBootMsg();
pancotinho 10:f6ff8ec221ec 67 //gps_config_gnss ();
marcoantonioara 5:ef21a65a3450 68
marcoantonioara 3:cbe3f441353e 69 sx1272.writeRegister(REG_OP_MODE,133); //leitura continua
marcoantonioara 5:ef21a65a3450 70 sx1272.writeRegister(REG_IRQ_FLAGS_MASK,187);//configure interrupt mask to interrupt only when a packet receive and packet envied
afzalsamira 6:c305f2aa79a4 71
marcoantonioara 3:cbe3f441353e 72
marcoantonioara 5:ef21a65a3450 73
marcoantonioara 5:ef21a65a3450 74
marcoantonioara 5:ef21a65a3450 75 while(1){
afzalsamira 6:c305f2aa79a4 76
marcoantonioara 5:ef21a65a3450 77 if (!button1){
pancotinho 7:37dc9ce68914 78
pancotinho 8:856f7a8cc20c 79 pc.printf("SENDING PING\n");
pancotinho 10:f6ff8ec221ec 80 send_data(PING);
pancotinho 10:f6ff8ec221ec 81 wait(5);
pancotinho 10:f6ff8ec221ec 82 pc.printf("SENDING DATA\n");
pancotinho 10:f6ff8ec221ec 83 send_data(DATA);
marcoantonioara 5:ef21a65a3450 84 }
marcoantonioara 5:ef21a65a3450 85
marcoantonioara 3:cbe3f441353e 86 wait_ms(50);
marcoantonioara 3:cbe3f441353e 87 }
marcoantonioara 3:cbe3f441353e 88
marcoantonioara 3:cbe3f441353e 89 }