Elmo Terminal provides functionality to test Lora radio and access SX1272 chip registers delivered with Elmo board. Also contains example ping-pong application.
Dependencies: SX1272lib mbed-src
main.cpp
- Committer:
- WGorniak
- Date:
- 2015-10-01
- Revision:
- 2:8d8295a51f68
- Child:
- 3:bb58d4e78e68
File content as of revision 2:8d8295a51f68:
#include "mbed.h" #include "sx1272-hal.h" #include "Terminal.h" #include "Settings.h" #include "stdint.h" #include "dbg.h" #include "PingPongCmd.h" #include <sstream> Variable::ValueDescription frequencyValues[] = {{860000, "kHz"}, {1020000, 0}, {0,0} }; Variable::ValueDescription powerValues[] = {{-1, "dBm"}, {20, 0}, {0,0} }; Variable::ValueDescription bandwidthValues[] = {{0, "125 kHz"}, {1, "250 kHz"}, {2, "500 kHz"}, {0,0} }; Variable::ValueDescription dataRateValues[] = {{6, "64"}, {7, "128"}, {8, "256"}, {9, "512"}, {10, "1024"}, {11, "2048"}, {12, "4096"}, {0,0}}; Variable::ValueDescription codeRateValues[] = {{1, "4/5"}, {2, "4/6"}, {3, "4/7"}, {4, "4/8"}, {0,0}}; Variable::ValueDescription preambleLenValues[] = {{6, "symbols"}, {65535, 0}, {0,0}}; Variable::ValueDescription symbTimeoutValues[] = {{4, "symbols"}, {1023, 0}, {0,0}}; Variable::ValueDescription paBoostValues[] = {{0, "RFO pin"}, {1, "PA_BOOST pin"}, {0,0}}; Variable::ValueDescription TXdelayValues[] = {{0, "ms"}, {100000, 0}, {0,0} }; Variable variables[] = { Variable("freq", "the frequency", 868000, frequencyValues) , Variable("power", "the output power", 14, powerValues) , Variable("bandwidth", "the bandwidth", 1, bandwidthValues) , Variable("dataRate", "the Datarate / spreading factor", 7, dataRateValues) , Variable("codeRate", "the coding rate", 1, codeRateValues) , Variable("preambleLen", "the Preamble length", 8, preambleLenValues) , Variable("symbTimeout", "the RxSingle timeout value", 5, symbTimeoutValues) , Variable("paBoost", "forces PA_BOOST output", 0, paBoostValues) , Variable("delay", "tx delay in ms", 0, TXdelayValues) , Variable() }; int main() { InterruptIn pushButton(USER_BUTTON); Serial debugPort(SERIAL_TX, SERIAL_RX); debugPort.baud(9600); Settings s(variables); Terminal terminal(&s, &debugPort, &pushButton); debugPort.printf("\r\n\r\nELMO Terminal\r\n"); terminal.executeCmd("h"); terminal.start(); }