test demo
Dependencies: PinDetect libmDot mbed-rtos mbed-src
Fork of mDot_LoRa_Connect_Woodstream_Demo by
Revision 3:34d92fdfbe06, committed 2015-11-09
- Comitter:
- tmulrooney
- Date:
- Mon Nov 09 00:54:24 2015 +0000
- Parent:
- 2:a61b09bc91ea
- Child:
- 4:47c98ad6a0c3
- Commit message:
- added a separate timer and send for each tested parameter
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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()
{
