Hello,
I have a Cube Orange with PX4-Autopilot firmware (tested 1.13.3 and 1.14). I am trying to connect a Lightware SF11 rangefinder using the I2C2 port.
This works fine and the data can be viewed e.g. in QGroundControl. However, as soon as I plug in anything into the GPS2 port like a telemetry or GPS device, even the included buzzer, the I2C communication stops working and only reports erros from then on out.
nsh> lightware_laser_i2c status
INFO [SPI_I2C] Running on I2C Bus 2, Address 0x66
lightware_laser_i2c: read: 32215 events, 9600150us elapsed, 298.00us avg, min 101us max 1909us 16.778us rms
lightware_laser_i2c: com err: 662 events
Also, this is the output before and after plugging in the serial device, it seems that the I2C device isn’t even detected anymore:
Before:
nsh> i2cdetect -b 2
Scanning I2C bus: 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- 66 -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
After:
nsh> i2cdetect -b 2
Scanning I2C bus: 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Further findings:
- When I plug in the serial device, in this case SimpleRTK3B, into the TELEM1 port, everything works fine
- When I plug it in the TELEM2 port, the I2C communication stops shortly but the resumes to work
- Using the I2C port in the GPS1 port also works fine and no errors occur when the serial device is plugged into the GPS2 port
Sadly, I can’t use the GPS1 port’s I2C connection because all the serial ports are already occupied (2x telemetry, 1x microRTPS bridge to companion computer, 1x GPS).
I would greaty appreciate any ideas on how to fix or even debug this problem further. If you have any suggestions please let me know, thanks in advance.
Greetings,
Andy
Attachments:
QGroundcontrol recording 1: Rangefinder plugged in and works, then serial device gets connected to GPS2 and only error occur from that point onwards
QGroundcontrol recording 2: Rangefinder plugged in and works, at Count: 837 serial device gets plugged into GPS2 => so more messages, then it gets unplugged again and at Count: 866 it gets plugged into TELEM2 => it hangs shorty, then we gat a faulty message with current_distance: 13000 and the the rangefinder resumes to work correctly