I2C Configuration and control registers map
The following paragraphs list the available control and configuration registers exposed by
Iono Pi Max on the I2C bus, at address 0x35.
Registers containing values that span on multiple bytes store the least significant byte in
the first byte (byte 0) and the most significant one in the last byte.
From firmware version 1.4 a CRC byte can optionally be used to validate the transmitted
data. When reading a register of N bytes, an I2C read request of N+1 bytes will retrieve
the CRC. When writing a N-bytes register, a write request of N+1 bytes implies the addition
of the CRC, therefore the operation will be executed only if the CRC value is correct; if the
CRC byte is not sent, the operation is always executed.
The CRC byte (8 bits) value is calculated using a CRC-8 function with polynomial
8
5
3
2
x
+ x
+ x
+ x
starting with the register's address number, followed by the data bytes from least to most
significant.
FIRMWARE VERSION
ADDR
15
14
13
1
Register 1
Bit 7-0
MINOR: minor version of the installed firmware
Bit 15-8
MAJOR: major version of the installed firmware
MCU COMMANDS
ADDR
15
14
13
5
6
Register 5
Bit 15-8
KEY: set to 0x2a
Bit 7-0
CMD: command
1 = Execute a software MCU reset
2 = Restore factory default configuration
3 = Save current configuration to be retained across power cycles
Register 6
Result of last command written to register 5
Bit 8
OK: set to 1 when command successfully terminated
44
+ x + 1
(i.e. 0x2F) and initial value of 0xFF. The function is applied
BYTE 1
12
11
10
MAJOR
BYTE 1
12
11
10
KEY
ERR
BUSY
FAIL
9
8
7
6
9
8
7
6
OK
BYTE 0
5
4
3
2
MINOR
BYTE 0
5
4
3
2
CMD
CMD
Iono Pi Max User Guide
R/W
1
0
R
R/W
1
0
W
R
Need help?
Do you have a question about the Iono Pi Max v2 3+ Lite and is the answer not in the manual?
Questions and answers