Jason Cheers / Mbed OS SEL_Device_Monitor

Dependencies:   BufferedSerial analogAverager voltageRegulator netStatReg analogMinMax CounterMinMax

Files at this revision

API Documentation at this revision

Comitter:
masterkookus
Date:
Mon Oct 07 19:40:36 2019 +0000
Parent:
13:4d533751f951
Child:
15:9ad261a27883
Commit message:
Added Report Timer and cleaned up some code

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mydevices.h Show annotated file Show diff for this revision Revisions of this file
netdevices.h Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon Oct 07 17:32:01 2019 +0000
+++ b/main.cpp	Mon Oct 07 19:40:36 2019 +0000
@@ -22,7 +22,7 @@
 #include "netStatusReg.h"
 
 Ticker nettimer;
-Timer netDevTimers[6];
+Timer netDevTimers[7];
 
 struct netsys net1;
 netDevStatus netStat(0,0,0,0,0);
@@ -72,6 +72,7 @@
     }
     if (netStat.bit_isset(devOnline))
     {
+        #ifdef fastDemandEnabled
         //Fast Demand Poll Tick
         if (netStat.bit_isset(fmdEnabled))
         {
@@ -79,9 +80,6 @@
             {
                 netDevTimers[2].reset();
                 netStat.bit_toset(fmdPollReq);
-                /*voltageAvg.resetNum();
-                voltageMinMax.resetNum();
-                tapMinMax.resetNum();*/
             }
         }
         else
@@ -92,6 +90,8 @@
                 netStat.bit_toset(fmdPollReq);
             }
         }
+        #endif
+        #ifdef fastMeterEnabled
         //Fast Meter Poll Tick
         if (netStat.bit_isset(fmEnabled))
         {
@@ -109,6 +109,7 @@
                 netStat.bit_toset(fmPollReq);
             }
         }
+        #endif
     }
     else
     {
@@ -140,6 +141,12 @@
             netStat.bit_toset(serTimeout);
         }
     }
+    if (netDevTimers[6].read_ms()>=setDataRecInterval)
+    {
+        netStat.bit_toset(recDataFile);
+        //netDevTimers[6].reset();
+        netDevTimers[6].stop();
+    }
 }
 
 void sendCmd(char cmdNum)
@@ -448,7 +455,7 @@
                         timepack.bytes[0]=cbuf[anum+7];
                         vReg1.demTimeStamp.msec=timepack.cmdshort;
                         sport0.printf("%d/%d/%d %d:%d:%d.%d\r\n",vReg1.demTimeStamp.month,vReg1.demTimeStamp.day,vReg1.demTimeStamp.year,vReg1.demTimeStamp.hour,vReg1.demTimeStamp.min,vReg1.demTimeStamp.sec,vReg1.demTimeStamp.msec);
-                        vReg1.calculated[0].analog1Value=voltageMinMax.getMin();
+                        /*vReg1.calculated[0].analog1Value=voltageMinMax.getMin();
                         vReg1.calculated[1].analog1Value=voltageAvg.getAvg();
                         vReg1.calculated[2].analog1Value=voltageMinMax.getMax();
                         vReg1.calculated[3].analog1Value=tapMinMax.getMin();
@@ -461,7 +468,7 @@
                         
                         voltageAvg.resetNum();
                         voltageMinMax.resetNum();
-                        tapMinMax.resetNum();
+                        tapMinMax.resetNum();*/
                         break;
                     }
                 }
@@ -780,6 +787,7 @@
     netDevTimers[0].start();
     netDevTimers[2].start();
     netDevTimers[3].start();
+    netDevTimers[6].start();
     
     while (true) {
         
@@ -844,6 +852,27 @@
             
             if ((netStat.bit_isclear(serPollInProg)) && (netStat.bit_isclear(fmPollInProg)) && (netStat.bit_isclear(fmdPollInProg)) && (netStat.bit_isset(devOnline)))
             {
+                if (netStat.bit_isset(recDataFile))
+                {
+                    vReg1.calculated[0].analog1Value=voltageMinMax.getMin();
+                    vReg1.calculated[1].analog1Value=voltageAvg.getAvg();
+                    vReg1.calculated[2].analog1Value=voltageMinMax.getMax();
+                    vReg1.calculated[3].analog1Value=tapMinMax.getMin();
+                    vReg1.calculated[4].analog1Value=tapMinMax.getMax();
+                    sport0.printf("%.2f\r\n",vReg1.calculated[0].analog1Value);
+                    sport0.printf("%.2f\r\n",vReg1.calculated[1].analog1Value);
+                    sport0.printf("%.2f\r\n",vReg1.calculated[2].analog1Value);
+                    sport0.printf("%.2f\r\n",vReg1.calculated[3].analog1Value);
+                    sport0.printf("%.2f\r\n",vReg1.calculated[4].analog1Value);
+                    
+                    voltageAvg.resetNum();
+                    voltageMinMax.resetNum();
+                    tapMinMax.resetNum();
+                    
+                    netStat.bit_toclear(recDataFile);
+                    netDevTimers[6].reset();
+                    netDevTimers[6].start();
+                }
                 if (netStat.bit_isset(fmdPollReq))
                 {
                     if (netStat.bit_isset(fmdEnabled))
--- a/mydevices.h	Mon Oct 07 17:32:01 2019 +0000
+++ b/mydevices.h	Mon Oct 07 19:40:36 2019 +0000
@@ -1,6 +1,10 @@
 
 #define sportEnabled
 #define setPollEnabled
+#define fastMeterEnabled
+#define fastDemandEnabled
+
+#define setDataRecInterval 90000
 
 /*Client Information*/
 #define setclientport 23000
--- a/netdevices.h	Mon Oct 07 17:32:01 2019 +0000
+++ b/netdevices.h	Mon Oct 07 19:40:36 2019 +0000
@@ -32,7 +32,7 @@
 #define serRespRx           0x00000080
 #define fmRespRx            0x00000040
 #define fmdRespRx           0x00000020
-//#define reserved          0x00000010
+#define recDataFile         0x00000010
 #define serCloseConnection  0x00000008
 #define fmCloseConnection   0x00000004
 #define fmdCloseConnection  0x00000002
@@ -54,23 +54,13 @@
     TCPSocket srv_sock;
     unsigned int cltPort;
     char* srv_addr;
-    /*
-    unsigned int fmTimeoutCount;
-    unsigned int serTimeoutCount;*/
-    
+
     unsigned int sendState;
     
     unsigned int serMsgTimeout;
-    /*
-    char devMsgReq;
-    char devMsgPos;
-    */
-    
+
     unsigned int sendRetryCount;
     unsigned int messageFailCount;
-    /*
-    unsigned int txMessageCount;
-    unsigned int rxMessageCount;*/
     
     char sendString[256];
     char sendLen;