Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BufferedSerial analogAverager voltageRegulator netStatReg analogMinMax CounterMinMax
Revision 14:3d437acb92e3, committed 2019-10-07
- 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
--- 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;