5 // Client owns one serialized Modbus connection. Connect replaces a closed
6 // connection and selects a unit from one through 247. Reads must return the
7 // exact requested count. Writes validate their acknowledgements. All operations
8 // honor caller cancellation. The driver closes each connection before retry.
9 // A caller must not use the client concurrently.
10 type Client interface {
11 Connect(ctx context.Context, address string, unit byte) error
13 ReadInputs(ctx context.Context, count uint16) ([]bool, error)
14 ReadCoils(ctx context.Context, count uint16) ([]bool, error)
15 ReadRegisters(ctx context.Context, address uint16, count uint16) ([]uint16, error)
16 WriteCoil(ctx context.Context, address uint16, value bool) error
17 WriteCoils(ctx context.Context, address uint16, values []bool) error
18 WriteRegister(ctx context.Context, address uint16, value uint16) error