firm newest
Dependencies: MTS-Serial libmDot-dev-mbed5-deprecated
main.cpp@1:c1c6549b9333, 2018-10-22 (annotated)
- Committer:
- nguyenhoang9x5555
- Date:
- Mon Oct 22 01:56:09 2018 +0000
- Revision:
- 1:c1c6549b9333
- Parent:
- 0:3c869a8cb8f8
hey
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 1 | #include "mbed.h" |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 2 | #include "mDot.h" |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 3 | #include "CommandTerminal.h" |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 4 | #include "ATSerial.h" |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 5 | #include "ATSerialFlowControl.h" |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 6 | #include "ChannelPlans.h" |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 7 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 8 | #define SERIAL_BUFFER_SIZE 512 |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 9 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 10 | Serial in_serial(USBTX, USBRX); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 11 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 12 | #ifndef CHANNEL_PLAN |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 13 | #define CHANNEL_PLAN CP_AU915 |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 14 | //CP_US915 |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 15 | #endif |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 16 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 17 | #ifndef UNIT_TEST |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 18 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 19 | int main() |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 20 | { |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 21 | in_serial.baud(115200); |
nguyenhoang9x5555 | 1:c1c6549b9333 | 22 | |
nguyenhoang9x5555 | 1:c1c6549b9333 | 23 | #if CHANNEL_PLAN == CP_AS923 |
nguyenhoang9x5555 | 1:c1c6549b9333 | 24 | lora::ChannelPlan* plan = new lora::ChannelPlan_AS923(); |
nguyenhoang9x5555 | 1:c1c6549b9333 | 25 | #elif CHANNEL_PLAN == CP_US915 |
nguyenhoang9x5555 | 1:c1c6549b9333 | 26 | lora::ChannelPlan* plan = new lora::ChannelPlan_US915(); |
nguyenhoang9x5555 | 1:c1c6549b9333 | 27 | #elif CHANNEL_PLAN == CP_AU915 |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 28 | lora::ChannelPlan* plan = new lora::ChannelPlan_AU915(); |
nguyenhoang9x5555 | 1:c1c6549b9333 | 29 | #elif CHANNEL_PLAN == CP_EU868 |
nguyenhoang9x5555 | 1:c1c6549b9333 | 30 | lora::ChannelPlan* plan = new lora::ChannelPlan_EU868(); |
nguyenhoang9x5555 | 1:c1c6549b9333 | 31 | #elif CHANNEL_PLAN == CP_KR920 |
nguyenhoang9x5555 | 1:c1c6549b9333 | 32 | lora::ChannelPlan* plan = new lora::ChannelPlan_KR920(); |
nguyenhoang9x5555 | 1:c1c6549b9333 | 33 | #elif CHANNEL_PLAN == CP_IN865 |
nguyenhoang9x5555 | 1:c1c6549b9333 | 34 | lora::ChannelPlan* plan = new lora::ChannelPlan_IN865(); |
nguyenhoang9x5555 | 1:c1c6549b9333 | 35 | #elif CHANNEL_PLAN == CP_AS923_JAPAN |
nguyenhoang9x5555 | 1:c1c6549b9333 | 36 | lora::ChannelPlan* plan = new lora::ChannelPlan_AS923_Japan(); |
nguyenhoang9x5555 | 1:c1c6549b9333 | 37 | #endif |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 38 | assert(plan); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 39 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 40 | mDot* dot = mDot::getInstance(plan); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 41 | assert(dot); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 42 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 43 | // Seed the RNG |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 44 | srand(dot->getRadioRandom()); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 45 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 46 | mts::ATSerial* serial; |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 47 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 48 | if (dot->getFlowControl()) |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 49 | #if defined(TARGET_MTS_MDOT_F411RE) |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 50 | serial = new mts::ATSerialFlowControl(XBEE_DOUT, XBEE_DIN, XBEE_RTS, XBEE_CTS, SERIAL_BUFFER_SIZE, SERIAL_BUFFER_SIZE); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 51 | #else |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 52 | serial = new mts::ATSerialFlowControl(UART1_TX, UART1_RX, UART1_RTS, UART1_CTS, SERIAL_BUFFER_SIZE, SERIAL_BUFFER_SIZE); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 53 | #endif |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 54 | else |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 55 | #if defined(TARGET_MTS_MDOT_F411RE) |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 56 | serial = new mts::ATSerial(XBEE_DOUT, XBEE_DIN, SERIAL_BUFFER_SIZE, SERIAL_BUFFER_SIZE); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 57 | #else |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 58 | serial = new mts::ATSerial(UART1_TX, UART1_RX, SERIAL_BUFFER_SIZE, SERIAL_BUFFER_SIZE); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 59 | #endif |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 60 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 61 | in_serial.baud(dot->getDebugBaud()); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 62 | serial->baud(dot->getBaud()); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 63 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 64 | CommandTerminal term(*serial); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 65 | CommandTerminal::_dot = dot; |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 66 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 67 | term.init(); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 68 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 69 | term.start(); |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 70 | } |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 71 | |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 72 | #endif // UNIT_TEST |
nguyenhoang9x5555 | 0:3c869a8cb8f8 | 73 |