SAM-M10Q - Integration manual
Figure 7: I2C random read access
If "current address" is used, an address pointer in the receiver is used to determine which register to
read. This address pointer will increment after each read operation unless it is already pointing at
register 0xFF, the highest addressable register, in which case it remains unaltered.
The initial value of this address pointer at startup is 0xFF, so by default all current address read
operations will repeatedly read register 0xFF and receive the next byte of message data (or 0xFF
value if no message data is waiting).
Figure 8: I2C current address read access
Only after addressing the slave, the receiver starts the data stream. If the master does not read
data from the receiver for a certain timeout, the receiver assumes that the communication is broken
and stops the data stream, preventing an overflow of the output buffer. This timeout is 1.5 seconds
by default. However, it can be extended by setting the CFG-I2C-EXTENDEDTIMEOUT configuration
item to true (see the SAM-M10Q interface description [
]). By disabling the timeout, the receiver
will only interrupt the data stream when the buffer is full. The buffer can store up to 4 kB and the
time for an overflow event depends on the number of messages enabled.
2.3.2.3 Write access
The receiver does not provide any write access except for writing UBX and NMEA messages to the
receiver, such as configuration or aiding data. Therefore, the register set mentioned in section
is not writeable.
UBX-22020019 - R01
2 Receiver functionality
Page 21 of 72
C1-Public