test demo

Dependencies:   PinDetect libmDot mbed-rtos mbed-src

Fork of mDot_LoRa_Connect_Woodstream_Demo by James Coleman

Revision:
3:34d92fdfbe06
Parent:
2:a61b09bc91ea
Child:
4:47c98ad6a0c3
--- a/main.cpp	Sat Nov 07 01:15:29 2015 +0000
+++ b/main.cpp	Mon Nov 09 00:54:24 2015 +0000
@@ -17,9 +17,10 @@
 #include "PinDetect.h"
 
 #define MIN_CHANGE_BATTERY_VOLTAGE 0
+#define  LED_TIME 5
 #define BATTERY_TIME 2.0
-#define KILL_STATUS_TIME 2.0
-#define POWER_ON_TIME 2.0
+#define KILL_STATUS_TIME 3.0
+#define POWER_ON_TIME 4.0
 
 mDot* dot;
 Ticker ledTimer;
@@ -38,9 +39,10 @@
 static uint8_t config_frequency_sub_band = 7;
 
 //Global Variables
-bool readyToSend;
-uint16_t lastBatteryVoltage;
-float currentBatteryVoltage;
+bool readyToSendBatteryVoltage;
+bool readyToSendKillStatus;
+bool readyToSendPowerOn;
+float lastBatteryVoltage;
 uint8_t lastKillStatus;
 uint8_t lastPowerOn;
 
@@ -66,14 +68,15 @@
 int main()
 {
     bool configFail = false;
-    readyToSend = false;
-    lastBatteryVoltage = 0;
-    currentBatteryVoltage = 0.0;
+    readyToSendBatteryVoltage = false;
+    readyToSendKillStatus = false;
+    readyToSendPowerOn = false;
+     lastBatteryVoltage = 0.0;
     lastKillStatus = transmitLED;
     lastPowerOn = powerOn;
       
     //Start LED startup sequence
-    ledTimer.attach(&ledWrite, 1.5);
+    ledTimer.attach(&ledWrite, LED_TIME);
 
     printf("\r\n\r\n");
     printf("=====================================\r\n");
@@ -122,6 +125,7 @@
 
     // Stop LED startup sequence & configure them for operation
     transmitLED = 1;
+    // start all paramter timers to sample analog and digital inputs
     batteryTimer.attach(batteryRead, BATTERY_TIME);
     killStatusTimer.attach(killStatusRead, KILL_STATUS_TIME);
     powerOnTimer.attach(powerOnRead, POWER_ON_TIME);
@@ -129,12 +133,26 @@
     while (1) 
     {
         // is there anything to send
-        if(readyToSend)
+        if(readyToSendBatteryVoltage)
+        {       
+             sprintf(latestData,"Voltage %2.2f",(double)lastBatteryVoltage);
+            printf("%s\r\n",latestData);
+            send(latestData);
+            readyToSendBatteryVoltage = false;
+        }
+        if(readyToSendKillStatus)
         {       
-            sprintf(latestData,"%2.2f %d %d",(double)currentBatteryVoltage,lastKillStatus,lastPowerOn);
-            printf("Battery Voltage: %2.2fV Kill Status: %d Power: %d\r\n",(double)currentBatteryVoltage,lastKillStatus,lastPowerOn);
+            sprintf(latestData,"KillStatus %d",lastKillStatus);
+            printf("%s\r\n",latestData);
             send(latestData);
-            readyToSend = false;
+            readyToSendKillStatus = false;
+        }
+        if(readyToSendPowerOn)
+        {       
+            sprintf(latestData,"PowerOn %d",lastPowerOn);
+            printf("%s\r\n",latestData);
+            send(latestData);
+            readyToSendPowerOn = false;
         }
      }
 }
@@ -146,38 +164,21 @@
 
 void batteryRead() 
 {
-    uint16_t battery,diff;
-    
-    battery = batteryVoltage.read_u16();
-    if(battery > lastBatteryVoltage)
-        diff = battery - lastBatteryVoltage;
-    else
-        diff = lastBatteryVoltage - battery;
-    if(diff > MIN_CHANGE_BATTERY_VOLTAGE)
-    {
-        lastBatteryVoltage = battery;
-        currentBatteryVoltage = batteryVoltage * (float)3.3;
-        readyToSend = true;
-    }
+    lastBatteryVoltage = batteryVoltage * (float)3.3;
+    readyToSendBatteryVoltage = true;
 }
 
 void killStatusRead() 
 {   
-    if(transmitLED != lastKillStatus)
-    {
-        lastKillStatus = transmitLED;
-        readyToSend = true;
-    }
+    lastKillStatus = transmitLED;
+    readyToSendKillStatus = true;
 }
 
 void powerOnRead() 
 {   
-    if(powerOn != lastPowerOn)
-    {
-        lastPowerOn = powerOn;
-        readyToSend = true;
-    }
-}
+    lastPowerOn = powerOn;
+    readyToSendPowerOn = true;
+ }
 
 void printVersion()
 {