CaryCoders
/
demo_SX1276_standalone
standalone sx1276 demo program
Fork of SX1276_GPS by
utilities.cpp@29:0ea07cc7124b, 2015-06-16 (annotated)
- Committer:
- ftagius
- Date:
- Tue Jun 16 11:53:20 2015 +0000
- Revision:
- 29:0ea07cc7124b
- Child:
- 31:2c813f321db7
working version of the sx1276 radio with integrated gps and lcd;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ftagius | 29:0ea07cc7124b | 1 | #include "mbed.h" |
ftagius | 29:0ea07cc7124b | 2 | #include "sx1276-hal.h" |
ftagius | 29:0ea07cc7124b | 3 | #include "main.h" |
ftagius | 29:0ea07cc7124b | 4 | #include "debug.h" |
ftagius | 29:0ea07cc7124b | 5 | #include "vt100.h" |
ftagius | 29:0ea07cc7124b | 6 | #include "serial_api.h" |
ftagius | 29:0ea07cc7124b | 7 | |
ftagius | 29:0ea07cc7124b | 8 | int get_kbd_str(char* buf, int size) |
ftagius | 29:0ea07cc7124b | 9 | { |
ftagius | 29:0ea07cc7124b | 10 | char c; |
ftagius | 29:0ea07cc7124b | 11 | int i; |
ftagius | 29:0ea07cc7124b | 12 | static int prev_len; |
ftagius | 29:0ea07cc7124b | 13 | |
ftagius | 29:0ea07cc7124b | 14 | for (i = 0;;) { |
ftagius | 29:0ea07cc7124b | 15 | if (pc.readable()) { |
ftagius | 29:0ea07cc7124b | 16 | c = pc.getc(); |
ftagius | 29:0ea07cc7124b | 17 | if (c == 8 && i > 0) { |
ftagius | 29:0ea07cc7124b | 18 | pc.putc(8); |
ftagius | 29:0ea07cc7124b | 19 | pc.putc(' '); |
ftagius | 29:0ea07cc7124b | 20 | pc.putc(8); |
ftagius | 29:0ea07cc7124b | 21 | i--; |
ftagius | 29:0ea07cc7124b | 22 | } else if (c == '\r') { |
ftagius | 29:0ea07cc7124b | 23 | if (i == 0) { |
ftagius | 29:0ea07cc7124b | 24 | if (app == APP_CHAT) |
ftagius | 29:0ea07cc7124b | 25 | return 0; |
ftagius | 29:0ea07cc7124b | 26 | else |
ftagius | 29:0ea07cc7124b | 27 | return prev_len; // repeat previous |
ftagius | 29:0ea07cc7124b | 28 | } else { |
ftagius | 29:0ea07cc7124b | 29 | buf[i] = 0; // null terminate |
ftagius | 29:0ea07cc7124b | 30 | prev_len = i; |
ftagius | 29:0ea07cc7124b | 31 | return i; |
ftagius | 29:0ea07cc7124b | 32 | } |
ftagius | 29:0ea07cc7124b | 33 | } else if (c == 3) { |
ftagius | 29:0ea07cc7124b | 34 | // ctrl-C abort |
ftagius | 29:0ea07cc7124b | 35 | return -1; |
ftagius | 29:0ea07cc7124b | 36 | } else if (i < size) { |
ftagius | 29:0ea07cc7124b | 37 | buf[i++] = c; |
ftagius | 29:0ea07cc7124b | 38 | pc.putc(c); |
ftagius | 29:0ea07cc7124b | 39 | } |
ftagius | 29:0ea07cc7124b | 40 | } else { |
ftagius | 29:0ea07cc7124b | 41 | if (app == APP_PING) |
ftagius | 29:0ea07cc7124b | 42 | ping_pong(); |
ftagius | 29:0ea07cc7124b | 43 | if (app == APP_HELLO) |
ftagius | 29:0ea07cc7124b | 44 | hello(); |
ftagius | 29:0ea07cc7124b | 45 | if (app == APP_GPS) |
ftagius | 29:0ea07cc7124b | 46 | check_gps(); |
ftagius | 29:0ea07cc7124b | 47 | #if 1 |
ftagius | 29:0ea07cc7124b | 48 | if (app == APP_CHAT) |
ftagius | 29:0ea07cc7124b | 49 | { |
ftagius | 29:0ea07cc7124b | 50 | // printf("utility call to console chat\r\n"); |
ftagius | 29:0ea07cc7124b | 51 | check_rx_chat(); |
ftagius | 29:0ea07cc7124b | 52 | } |
ftagius | 29:0ea07cc7124b | 53 | #endif |
ftagius | 29:0ea07cc7124b | 54 | } |
ftagius | 29:0ea07cc7124b | 55 | } // ...for() |
ftagius | 29:0ea07cc7124b | 56 | } |