liblightmodbus  2.0
A lightweight, cross-platform Modbus RTU library
Functions
mbregs.h File Reference

Master's register-related frame building functions. More...

Go to the source code of this file.

Functions

ModbusError modbusBuildRequest0304 (ModbusMaster *status, uint8_t function, uint8_t address, uint16_t index, uint16_t count)
 Builds request 03 (read multiple holding registers) or 04 (read multiple input registers) frame. More...
 
static ModbusError modbusBuildRequest03 (ModbusMaster *status, uint8_t address, uint16_t index, uint16_t count)
 Builds request 03 (read multiple holding registers) frame. More...
 
static ModbusError modbusBuildRequest04 (ModbusMaster *status, uint8_t address, uint16_t index, uint16_t count)
 Builds request 04 (read multiple input registers) frame. More...
 
ModbusError modbusBuildRequest06 (ModbusMaster *status, uint8_t address, uint16_t index, uint16_t value)
 Builds request 06 (write a single holding register) frame. More...
 
ModbusError modbusBuildRequest16 (ModbusMaster *status, uint8_t address, uint16_t index, uint16_t count, uint16_t *values)
 Builds request 16 (write multiple holding registers) frame. More...
 
ModbusError modbusBuildRequest22 (ModbusMaster *status, uint8_t address, uint16_t index, uint16_t andmask, uint16_t ormask)
 Builds request 22 (mask-write holding register) frame. More...
 

Detailed Description

Master's register-related frame building functions.

Function Documentation

◆ modbusBuildRequest03()

static ModbusError modbusBuildRequest03 ( ModbusMaster status,
uint8_t  address,
uint16_t  index,
uint16_t  count 
)
inlinestatic

Builds request 03 (read multiple holding registers) frame.

Note
Requires F03M or F04M module (see Building liblightmodbus)

Calls modbusBuildRequest0304 with 3 as the second parameter

Parameters
statusThe master structure to load with the request frame
addressAddress of slave to be requested
indexAddress of the first register
countNumber of registers to be read
Returns
A ModbusError error code
+ Here is the call graph for this function:

◆ modbusBuildRequest0304()

ModbusError modbusBuildRequest0304 ( ModbusMaster status,
uint8_t  function,
uint8_t  address,
uint16_t  index,
uint16_t  count 
)

Builds request 03 (read multiple holding registers) or 04 (read multiple input registers) frame.

Note
Requires F03M or F04M module (see Building liblightmodbus)
modbusParseRequest03 and modbusParseRequest04 macros are aliases of this function
Parameters
statusThe master structure to load with the request frame
functionFunction to be used in the request (03 or 04)
addressAddress of slave to be requested
indexAddress of the first register
countNumber of registers to be read
Returns
A ModbusError error code
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ modbusBuildRequest04()

static ModbusError modbusBuildRequest04 ( ModbusMaster status,
uint8_t  address,
uint16_t  index,
uint16_t  count 
)
inlinestatic

Builds request 04 (read multiple input registers) frame.

Note
Requires F03M or F04M module (see Building liblightmodbus)

Calls modbusBuildRequest0304 with 4 as the second parameter

Parameters
statusThe master structure to load with the request frame
addressAddress of slave to be requested
indexAddress of the first register
countNumber of registers to be read
Returns
A ModbusError error code
+ Here is the call graph for this function:

◆ modbusBuildRequest06()

ModbusError modbusBuildRequest06 ( ModbusMaster status,
uint8_t  address,
uint16_t  index,
uint16_t  value 
)

Builds request 06 (write a single holding register) frame.

Note
Requires F06M module (see Building liblightmodbus)
Parameters
statusThe master structure to load with the request frame
addressAddress of slave to be requested
indexAddress of the register
valueThe value to be written
Returns
A ModbusError error code
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ modbusBuildRequest16()

ModbusError modbusBuildRequest16 ( ModbusMaster status,
uint8_t  address,
uint16_t  index,
uint16_t  count,
uint16_t *  values 
)

Builds request 16 (write multiple holding registers) frame.

Note
Requires F16M module (see Building liblightmodbus)
Parameters
statusThe master structure to load with the request frame
addressAddress of slave to be requested
indexAddress of the first register
countNumber of registers to be written
valuesThe value to be written
Returns
A ModbusError error code
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ modbusBuildRequest22()

ModbusError modbusBuildRequest22 ( ModbusMaster status,
uint8_t  address,
uint16_t  index,
uint16_t  andmask,
uint16_t  ormask 
)

Builds request 22 (mask-write holding register) frame.

Note
Requires F22M module (see Building liblightmodbus)
Parameters
statusThe master structure to load with the request frame
addressAddress of slave to be requested
indexAddress of the register
andmaskThe AND mask value
ormaskThe OR mask value
Returns
A ModbusError error code
+ Here is the call graph for this function:
+ Here is the caller graph for this function: