Class ModbusServer
java.lang.Object
java.lang.Thread
javaforce.pi.ModbusServer
- All Implemented Interfaces:
Runnable
Modbus Server for Raspberry PI.
Supports:
- coils (digital outputs via GPIO)
- discrete input (digital inputs via GPIO)
- read/write values from i2c devices (int8, int16, int24, int32, int64, float32, float64)
Notes:
- input and holding registers are treated as the same
- changes to config require a reboot
modbus.cfg:
gpio:i|o:bit=?:addr=?
i2c:i|o:addr=?:slaveaddr=??:avg=?,?,...:read=?,?,...:write=?,?,...
port=502
invert=true|false
- Author:
- User
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic enumstatic classstatic classNested classes/interfaces inherited from class Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic boolean[]static GPIOstatic I2Cstatic ArrayList<ModbusServer.I2C_I> static ArrayList<ModbusServer.I2C_O> static Objectstatic int[]static booleanstatic int[]static intstatic StringFields inherited from class Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic bytechecksum8(byte[] data, int start, int end) int[]decodeBytes(String[] fs, boolean allowIO) static voidstatic voidprintArray(String msg, byte[] array) voidrun()Methods inherited from class Thread
activeCount, checkAccess, clone, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, threadId, toString, yield
-
Field Details
-
version
-
ss
-
port
public static int port -
outs
public static int[] outs -
coils
public static boolean[] coils -
ins
public static int[] ins -
invert
public static boolean invert -
i2cins
-
i2couts
-
i2cslaveaddrlock
-
gpio
-
i2c
-
-
Constructor Details
-
ModbusServer
public ModbusServer()
-
-
Method Details
-
main
-
run
-
decodeBytes
-
checksum8
public static byte checksum8(byte[] data, int start, int end) -
printArray
-