Dependencies:   BufferedSerial analogAverager voltageRegulator netStatReg analogMinMax CounterMinMax

Revision:
14:3d437acb92e3
Parent:
13:4d533751f951
Child:
15:9ad261a27883
--- 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))