Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: pulga-lorawan-drv SX1272
main.cpp@15:b27ab44dc2c8, 2021-04-29 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |