MultiTech / Mbed OS mDot_AT_firmware_CUSTOM

Dependencies:   libmDot-Custom MTS-Serial

Fork of mDot_AT_firmware_CUSTOM by Jason Reiss

To change channel plans replace AS923 with AU915, EU868, KR920 or US915 on line 15

#define CHANNEL_PLAN CP_AS923

See Supported Channel Plans

Committer:
jreiss
Date:
Thu Mar 23 20:40:54 2017 +0000
Revision:
29:15b59b827ac7
Parent:
28:227d7508a1e2
update libmDot-Custom

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 9:ff62b20f7000 1 #include "mbed.h"
Mike Fiore 9:ff62b20f7000 2 #include "mDot.h"
Mike Fiore 9:ff62b20f7000 3 #include "CommandTerminal.h"
Mike Fiore 9:ff62b20f7000 4 #include "ATSerial.h"
Mike Fiore 9:ff62b20f7000 5 #include "ATSerialFlowControl.h"
jreiss 18:4e02a7a01625 6 #include "ChannelPlans.h"
Mike Fiore 9:ff62b20f7000 7
Mike Fiore 9:ff62b20f7000 8 #define SERIAL_BUFFER_SIZE 512
Mike Fiore 9:ff62b20f7000 9
Mike Fiore 9:ff62b20f7000 10 mts::ATSerial debug(USBTX, USBRX);
Mike Fiore 9:ff62b20f7000 11
jreiss 12:98445fa50cd3 12 #ifndef UNIT_TEST
jreiss 12:98445fa50cd3 13
jreiss 24:739e3a700d34 14 #ifndef CHANNEL_PLAN
jreiss 29:15b59b827ac7 15 #define CHANNEL_PLAN CP_KR920
jreiss 24:739e3a700d34 16 #endif
jreiss 24:739e3a700d34 17
Mike Fiore 9:ff62b20f7000 18 int main()
Mike Fiore 9:ff62b20f7000 19 {
Mike Fiore 9:ff62b20f7000 20 debug.baud(115200);
jreiss 24:739e3a700d34 21
jreiss 24:739e3a700d34 22 // get a mDot handle
Mike Fiore 9:ff62b20f7000 23 mDot* dot = mDot::getInstance();
jreiss 24:739e3a700d34 24
jreiss 24:739e3a700d34 25 #if CHANNEL_PLAN == CP_AS923
jreiss 21:eba22baae4fd 26 lora::ChannelPlan* plan = new lora::CustomChannelPlan_AS923(*dot->getRadio(), *dot->getSettings());
jreiss 24:739e3a700d34 27 #elif CHANNEL_PLAN == CP_US915
jreiss 24:739e3a700d34 28 lora::ChannelPlan* plan = new lora::CustomChannelPlan_US915(*dot->getRadio(), *dot->getSettings());
jreiss 24:739e3a700d34 29 #elif CHANNEL_PLAN == CP_AU915
jreiss 24:739e3a700d34 30 lora::ChannelPlan* plan = new lora::CustomChannelPlan_AU915(*dot->getRadio(), *dot->getSettings());
jreiss 24:739e3a700d34 31 #elif CHANNEL_PLAN == CP_EU868
jreiss 24:739e3a700d34 32 lora::ChannelPlan* plan = new lora::CustomChannelPlan_EU868(*dot->getRadio(), *dot->getSettings());
jreiss 24:739e3a700d34 33 #elif CHANNEL_PLAN == CP_KR920
jreiss 24:739e3a700d34 34 lora::ChannelPlan* plan = new lora::CustomChannelPlan_KR920(*dot->getRadio(), *dot->getSettings());
jreiss 28:227d7508a1e2 35 #elif CHANNEL_PLAN == CP_IN865
jreiss 28:227d7508a1e2 36 lora::ChannelPlan* plan = new lora::CustomChannelPlan_IN865(*dot->getRadio(), *dot->getSettings());
jreiss 24:739e3a700d34 37 #endif
jreiss 22:89a1202125bc 38
jreiss 28:227d7508a1e2 39
jreiss 12:98445fa50cd3 40 dot->setChannelPlan(plan);
jreiss 12:98445fa50cd3 41
Mike Fiore 9:ff62b20f7000 42 // Seed the RNG
Mike Fiore 9:ff62b20f7000 43 srand(dot->getRadioRandom());
Mike Fiore 9:ff62b20f7000 44
Mike Fiore 9:ff62b20f7000 45 mts::ATSerial* serial;
Mike Fiore 9:ff62b20f7000 46
Mike Fiore 9:ff62b20f7000 47 if (dot->getFlowControl())
jreiss 17:17963e6bd07d 48 #if defined(TARGET_MTS_MDOT_F411RE)
Mike Fiore 9:ff62b20f7000 49 serial = new mts::ATSerialFlowControl(XBEE_DOUT, XBEE_DIN, XBEE_RTS, XBEE_CTS, SERIAL_BUFFER_SIZE, SERIAL_BUFFER_SIZE);
jreiss 17:17963e6bd07d 50 #else
jreiss 12:98445fa50cd3 51 serial = new mts::ATSerialFlowControl(UART1_TX, UART1_RX, UART1_RTS, UART1_CTS, SERIAL_BUFFER_SIZE, SERIAL_BUFFER_SIZE);
jreiss 17:17963e6bd07d 52 #endif
Mike Fiore 9:ff62b20f7000 53 else
jreiss 17:17963e6bd07d 54 #if defined(TARGET_MTS_MDOT_F411RE)
Mike Fiore 9:ff62b20f7000 55 serial = new mts::ATSerial(XBEE_DOUT, XBEE_DIN, SERIAL_BUFFER_SIZE, SERIAL_BUFFER_SIZE);
jreiss 17:17963e6bd07d 56 #else
jreiss 12:98445fa50cd3 57 serial = new mts::ATSerial(UART1_TX, UART1_RX, SERIAL_BUFFER_SIZE, SERIAL_BUFFER_SIZE);
jreiss 17:17963e6bd07d 58 #endif
Mike Fiore 9:ff62b20f7000 59
Mike Fiore 9:ff62b20f7000 60 debug.baud(dot->getDebugBaud());
Mike Fiore 9:ff62b20f7000 61 serial->baud(dot->getBaud());
Mike Fiore 9:ff62b20f7000 62
jreiss 12:98445fa50cd3 63 CommandTerminal term(*serial);
jreiss 12:98445fa50cd3 64 CommandTerminal::_dot = dot;
jreiss 12:98445fa50cd3 65
jreiss 12:98445fa50cd3 66 term.init();
jreiss 12:98445fa50cd3 67
Mike Fiore 9:ff62b20f7000 68 term.start();
Mike Fiore 9:ff62b20f7000 69 }
jreiss 12:98445fa50cd3 70
jreiss 12:98445fa50cd3 71 #endif // UNIT_TEST
jreiss 17:17963e6bd07d 72