I2C bus driver issues on VOXL2 SLPI
-
I am developing a driver for an external i2c sensor and using J19 pins 7 & 8. ( SSC_QUP3)
When I start the driver I am doing so like this:
"qshell xm125_evk start -X -b 4"Assuming "SSC_QUP3" is i2c bus 4 (correct me if I am wrong). I am using the external device i2c address correctly in the driver and on another non-voxl platform I can confirm this i2c address with i2cdetect.
When I include the bus number at driver instantiation it will timeout and I won't see any output on mini-dm. However if I leave off the bus # it will start the driver but fail to probe and I get a bunch of read register fails at the voxl-px4 driver level while receiving the following on mini-dm:
[08500/02] 23:37.838 0044:01: SDSP: Error: sns_scp_simple_rw failed 1020 sns_flight_controller_sensor_Additionally the command will fail after many of these errors and then I will get BARO 0 timeout fails that I don't normally see, which I think is the result of clobbering the onboard baro.
Any tips for dsp i2c driver development would be helpful, especially trying to figure out why when instantiating a bus it times out. I am basing the driver off of the "tf02pro" that is in voxl-px4 currently and then configuring voxl2-slpi default.px4board to include the driver.
-
I am developing a driver for an external i2c sensor and using J19 pins 7 & 8. ( SSC_QUP3)
When I start the driver I am doing so like this:
"qshell xm125_evk start -X -b 4"Assuming "SSC_QUP3" is i2c bus 4 (correct me if I am wrong). I am using the external device i2c address correctly in the driver and on another non-voxl platform I can confirm this i2c address with i2cdetect.
When I include the bus number at driver instantiation it will timeout and I won't see any output on mini-dm. However if I leave off the bus # it will start the driver but fail to probe and I get a bunch of read register fails at the voxl-px4 driver level while receiving the following on mini-dm:
[08500/02] 23:37.838 0044:01: SDSP: Error: sns_scp_simple_rw failed 1020 sns_flight_controller_sensor_Additionally the command will fail after many of these errors and then I will get BARO 0 timeout fails that I don't normally see, which I think is the result of clobbering the onboard baro.
Any tips for dsp i2c driver development would be helpful, especially trying to figure out why when instantiating a bus it times out. I am basing the driver off of the "tf02pro" that is in voxl-px4 currently and then configuring voxl2-slpi default.px4board to include the driver.
@brahim Is the code public? Can I take a look?
-
I am developing a driver for an external i2c sensor and using J19 pins 7 & 8. ( SSC_QUP3)
When I start the driver I am doing so like this:
"qshell xm125_evk start -X -b 4"Assuming "SSC_QUP3" is i2c bus 4 (correct me if I am wrong). I am using the external device i2c address correctly in the driver and on another non-voxl platform I can confirm this i2c address with i2cdetect.
When I include the bus number at driver instantiation it will timeout and I won't see any output on mini-dm. However if I leave off the bus # it will start the driver but fail to probe and I get a bunch of read register fails at the voxl-px4 driver level while receiving the following on mini-dm:
[08500/02] 23:37.838 0044:01: SDSP: Error: sns_scp_simple_rw failed 1020 sns_flight_controller_sensor_Additionally the command will fail after many of these errors and then I will get BARO 0 timeout fails that I don't normally see, which I think is the result of clobbering the onboard baro.
Any tips for dsp i2c driver development would be helpful, especially trying to figure out why when instantiating a bus it times out. I am basing the driver off of the "tf02pro" that is in voxl-px4 currently and then configuring voxl2-slpi default.px4board to include the driver.
Hey Eric, so I ruled out the dsp as the problem since I am getting the same behavior on an nxp nuttx-flashed board. It appears the external device is the issue as it is not responding to i2c commands. From what I can tell qurt uses the same I2C 'transfer' command at least with the same parameters. It can find the device on the bus when I give the command "qshell xm125_evk start -X -b 4" but probing it appears to be impossible right now.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login