37 |
P a g e
or visit www.gropoint.com/support
RIOT Technology Corp.
| #220
–
10114 McDonald Park Rd | North Saanich V8L5X8, BC Canada | +1.250.412.6642
All Rights Reserved
©2020,
RIOT Technology Corp.
Data Values
16-bit Data Values
All 16-bit registers are represented in big-endian format, that is the higher byte followed by the
lower byte. For example, the 16-bit value 0x1234 would be stored as 0x12 followed by 0x34.
When transferred at the byte level this would be sent as: 0x12, 0x34.
Register
16-bit register data
address n Bits 15 to
8
Bits 7 to 0
ex. value
0x12
0x34
Moisture and temperature readings from input registers are stored as 16-bit signed integers and
will be returned without a decimal place. In order to obtain the true result, the decimal place
setting must be applied. The default setting for this is 1 decimal place, so for example a decimal
integer value of 123 indicates 12.3 % volumetric moisture content for soil moisture, or 12.3 °C
for the soil temperature sensor.
8-bit Data Values
8-bit data values are stored in the lower 8 bits of the 16-bit registers. When reading 8-bit values
the upper byte will always be 0. When writing 8-bit values the upper byte should be set to 0 but
is ignored in any event. Byte order when reading and writing 8-bit values to and from the 16-bit
registers is the same as for 16-bit values, that is the high byte (value of 0) first followed by the
low byte.
Register
16-bit register data
address n
Bits 15 to
8
Bits 7 to 0
ex. value
0
8-bit value
IEEE-754 32-bit Floating Point Values
Floating point values are represented using IEEE-754 format. Each floating-point value requires 32 bits,
that is two 16-bit registers; a high 16-bit word and a low 16-bit word. The 32-bit value is stored in little-
endian byte swap format, that is with the low word first, followed by the high word. For example, the
floating-point value 0.09765625 is represented by the 32-bit value 0x3DC80000. [needs correcting] This
is stored as would be stored as 0x1234 followed by 0x5678. When transferred at the byte level this would
be sent as: 0x12, 0x34, 0x56, 0x78
Register
32-bit register data
address n
Bits 32 to 24
Bits 23 to 16
address n+1 Bits 15 to 8
Bits 7 to 0
GPLP Modbus Register Lists
Input Registers (Read with Function Code 04)
The input registers are read-only registers containing soil moisture or temperature measure-
ment values. Moisture and temperature readings are stored as 16-bit signed integers and will
be returned without a decimal place. In order to obtain the true result, the decimal place setting