This program connects to the The Things Network backend in OTAA Mode. It logs sensor values from a BME 280 to the backend. Tried adding support for Grove GPS using SerialGPS library but it is not working - conflicting with mbed-rtos, so it commented. Deep Sleep for mDot implemented BUT avoiding reprogramming of the mDot config is NOT working.
Dependencies: BME280 SerialGPS libmDot mbed-rtos mbed
Diff: main.cpp
- Revision:
- 0:3ec6a7645098
- Child:
- 1:36e336869699
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Jul 03 15:45:03 2016 +0000 @@ -0,0 +1,68 @@ +/****************************************************** + * A Program to interface the Grove Base Shielf V2 + * to the mDot UDK. + * Additionally sample code to compress the data + * for use with LPWANs such as LoRa +*****************************************************/ + + #include "mbed.h" + #include <math.h> + +// UDK Specific +// Uncomment this line if using a full sized UDK2.0 instead of a Micro UDK +#define UDK2 1 +#ifdef UDK2 +DigitalOut led(LED1); +#else +DigitalOut led(XBEE_RSSI); +#endif + +// Globals +Ticker tick; + +// Function Declarations +void endLessTestLoop(); +void setUpLEDBlink(); +void blink(); + + +/***************************************************** +* MAIN +*****************************************************/ +int main(){ + + // Simple Test Functions, "Hello World on UDK + setUpLEDBlink(); + endLessTestLoop(); + + return 0; +} + + + + + + + + + +/***************************************************** +* FUNCTIONS for Simple Testing +*****************************************************/ + +void setUpLEDBlink(){ + // configure the Ticker to blink the LED on 500ms interval + tick.attach(&blink, 0.5); +} + +void endLessTestLoop() { + while(true) { + printf("Hello world!\r\n"); + wait(3); + } +} + +// Callback function to change LED state +void blink() { + led = !led; +} \ No newline at end of file