Hello,
I’m using an LC76G (model LC76GABNR12A01S) over I2C on a Waveshare RP2350-Touch-AMOLED-1.75 board (RP2350 MCU, I2C1). I have reading NMEA working reliably using the mailbox protocol:
Write address 0x50, read address 0x54 (7-bit)
Query available length: write 08 00 51 AA 04 00 00 00 to 0x50, then read 4 bytes from 0x54 (little-endian length)
Read data: write 00 20 51 AA + 4-byte requested length to 0x50, then read that many bytes from 0x54
This works well and I get GGA/RMC/GSV/VTG etc.
Now I need to send configuration commands to the module over the same I2C interface — specifically $PAIR050 (fix rate), $PAIR062 (per-message output on/off), and $PAIR070 (static hold). I cannot find the write/input framing for this mailbox protocol anywhere.
Could you please clarify:
What is the exact write header/preamble for sending data to the module (the equivalent of 08 00 51 AA / 00 20 51 AA on the read side)?
Do I need to poll the module’s free RX buffer space before writing, and if so, what is the command/register for that?
What is the length field format and the required minimum delay between I2C transactions for a write?
A short byte-level example of sending one PAIR command (e.g. $PAIR050,200*21\r\n) over I2C would be ideal.
Could you also please send me the current GNSS I2C Application Note that documents this mailbox protocol (I only have the older 2016 MC20 revision, which describes a different 0x10-address scheme)?
Thank you very much