I have my GPS working with RTK using hardwired UART2. Works great with RTCM updates every second. However, I received my I2C cables yesterday and hooked them up… nothing.
I’m a new user so I’m not allowed to upload pictures. I’ll describe here:
UBX-MON-TBUF - shows activity on UART1, UART2 and USB. Nothing on I2c or SPI.
UBX-Mon-IO - shows the following:
Parameter
I2C
UART1
UART2
USB
SPI
RX bytes
0
0
0
654
0
TX bytes
0
70320120
105302
8197364
0
Parity/Drop Errors
0
0
0
0
0
Frameing Errors
0
0
0
0
0
Overrun Errors
0
0
0
0
0
Break Conditions
0
0
0
0
0
I have the I2C setup for RTCM in and out. I have all the RTCM messges set with I2C/1 checked
Nothing out, nothing in. Looks the same on both boards.
Well I2C and SPI are demand driven from the MCU Host, and clocked.
The UARTs shovel out data regardless of whether anyone is listening or not.
If the I2C stalls you have to send a query form command to unstall it. ie UBX-MON-VER
I mean you need to push the UBX-MON-VER (0xB5,0x62,0x0A,0x04,0x00,0x00,0x0E,0x34), or another query, over the I2C connection because it stalls after 1.5 seconds of inattention from your MCU side.
I’m connected to the GPS modules via USB and they are connected to eachother via I2C. I’m not using a raspberry pi or anything connected via I2C. I don’t have a way to do this.
Also - I don’t think this is the issue. Even after a cold boot, there is nothing on the I2C bus.
Ok, well this is NOT how you’re going to determine that it’s “Not Working”, the receiver is the Slave device on the I2C bus, you are the Master, you’ll have to directly interact with it. By default it will be trying to transmit the same NMEA Sentences it just pushes out of UART1
In a point-to-point sense I2C between two slaves isn’t going to work automatically.
With two different slave addresses an MCU could manage them, move data, or configure. I’d only look to do this with relatively low bandwidth.
For example with a NEO-D9S + ZED-F9P you could use I2C to configure both, send parameters/keys, whilst freeing up UART TX to UART RX hard wired plumbing for the actual data transit. Say for RTCM3 or SPARTN transfer from radio or modems
Thanks guys. I’m a novice and just assumed since the boards had the ports it would work. Didn’t realize it was low bandwidth. I was trying to avoid soldering. So much for being lazy.