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
Diff: netdevices.h
- 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; };