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

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