ModbusSlaveBase

Base class for modbus slave devices

Iteration and message parsing process

Define types

need override checkDeviceNumber and onMessage

Constructors

this
this(Backend be, void delegate(Duration) sf)

Members

Aliases

Function
alias Function = MsgProcRes delegate(Message)

Enums

FuncCode
enum FuncCode

Functions

Reaction
enum Reaction

Functions

checkDeviceNumber
Reaction checkDeviceNumber(ulong dev)
iterate
void iterate()
onMessage
MsgProcRes onMessage(Message msg)
packResult
MsgProcRes packResult(Args args)
parseMessageFirstTwoUshorts
ushort[2] parseMessageFirstTwoUshorts(Message m)

aux function

processMessage
void processMessage(Message msg)

process message and send result if needed

Manifest constants

illegalDataAddress
enum illegalDataAddress;
illegalDataValue
enum illegalDataValue;
illegalFunction
enum illegalFunction;

Static functions

failMsgProcRes
MsgProcRes failMsgProcRes(T val)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

MsgProcRes
struct MsgProcRes

Variables

dt
StopWatch dt;
Undocumented in source.
mBuffer
void[MAX_BUFFER] mBuffer;
Undocumented in source.
readed
size_t readed;
Undocumented in source.

Inherited Members

From Modbus

buffer
void[MAX_BUFFER] buffer;
Undocumented in source.
be
Backend be;
Undocumented in source.
sleepFunc
void delegate(Duration) sleepFunc;
Undocumented in source.
sleep
void sleep(Duration dur)
Undocumented in source. Be warned that the author may not have intended to support it.
writeStepPause
Duration writeStepPause()
backend
Backend backend()
writeTimeout
Duration writeTimeout;
readTimeout
Duration readTimeout;

time for waiting message

write
const(void)[] write(ulong dev, ubyte fnc, Args args)

Write to serial port

setSleepFunc
void setSleepFunc(void delegate(Duration) f)

Meta