This demonstrates the process of communicating through ethernet to a SEL-2431 Voltage Regulator Control Panel using SEL Fast Message. Basic device commands and data cna be requested and displayed over a connected serial port. This is a basic version and full testing and documentation has yet to be completed.

Dependencies:   BufferedSerial analogAverager voltageRegulator netStatReg analogMinMax CounterMinMax

Revision:
12:4bb088c27838
Parent:
10:9da863a6da3e
Child:
13:4d533751f951
--- a/netdevices.h	Wed Oct 02 19:16:25 2019 +0000
+++ b/netdevices.h	Mon Oct 07 12:44:38 2019 +0000
@@ -4,6 +4,44 @@
 #include "TCPServer.h"
 #include "TCPSocket.h"
 
+
+#define pollEnabled         0x80000000
+#define fmEnabled           0x40000000
+#define fmdEnabled          0x20000000
+#define serEnabled          0x10000000
+#define srvIsActive         0x08000000
+#define srvCloseConnection  0x04000000
+#define cltIsActive         0x02000000
+#define cltCloseConnection  0x01000000
+#define serIsActive         0x00800000
+#define connectRetry        0x00400000
+#define attachRetry         0x00200000
+#define sendRetry           0x00100000
+#define serTimeout          0x00080000
+#define fmTimeout           0x00040000
+#define fmdTimeout          0x00020000
+#define serMsgRx            0x00010000
+#define serPollReq          0x00008000
+#define fmPollReq           0x00004000
+#define fmdPollReq          0x00002000
+#define fmCfgReq            0x00001000
+#define serPollInProg       0x00000800
+#define fmPollInProg        0x00000400
+#define fmdPollInProg       0x00000200
+#define fmCfgInProg         0x00000100
+#define serRespRx           0x00000080
+#define fmRespRx            0x00000040
+#define fmdRespRx           0x00000020
+//#define reserved          0x00000010
+#define serCloseConnection  0x00000008
+#define fmCloseConnection   0x00000004
+#define fmdCloseConnection  0x00000002
+#define devOnline           0x00000001
+
+#define cltclose            0x03FF0EEE
+#define serclose            0x03700888
+#define fmclose             0x03700766
+
 void confignetdevices(EthernetInterface *eth);
 
 struct netsys 
@@ -12,48 +50,37 @@
     TCPSocket clt_sock;
     SocketAddress clt_addr;
     unsigned int srvPort;
-    bool srvIsActive;
-    bool srvCloseConnection;
-    unsigned int aliveTime;
-    unsigned int aliveTimeout;
     
     TCPSocket srv_sock;
     unsigned int cltPort;
     char* srv_addr;
-    bool cltIsActive;
-    bool cltCloseConnection;
-    bool pollEnabled;
-    bool pollRequestSent;
-    bool pollResponseReceived;
-    bool fmEnabled;
-    bool fmdEnabled;
-    unsigned int pollTimeout;
-    unsigned int pollTime;
-    unsigned int fmPollTime;
-    unsigned int fmdPollTime;
-    unsigned int pollTimeoutCount;
-    unsigned int sendTimeout;
-    unsigned int sendTime;
+    
+    unsigned int fmTimeoutCount;
+    unsigned int serTimeoutCount;
+    
     unsigned int sendState;
-    unsigned int configState;
+    
+    //volatile unsigned int statusReg;
     
     unsigned int deivceType;
     
-    bool serIsActive;
-    char serTimeoutCount;
+    unsigned int serMsgTimeout;
+    
     char devMsgReq;
     char devMsgPos;
-    bool devMsgOpenRx;
     
-    bool attachRetry;
-    bool sendRetry;
-    bool connectRetry;
     unsigned int sendRetryCount;
     unsigned int messageFailCount;
     unsigned int txMessageCount;
     unsigned int rxMessageCount;
     unsigned int deviceConfig;
     
+    unsigned int fmpolltimer;
+    unsigned int fmdpolltimer;
+    unsigned int fmcfgpolltimer;
+    unsigned int fmtimeout;
+    
+    
     char sendString[256];
     char sendLen;
 };