LSM6DSL Sample Fails to Reboot LSM6DS3TR-C (Pin-for-pin compatible with LSM6DSL) on XIAO BLE Sense #56042
Unanswered
MattMacGregor
asked this question in
Q&A
Replies: 2 comments 7 replies
-
This was rightfully converted to a discussion, as the problem seems to be more focused in the I2C realm then this sensor. Here is a link to the issue with a bit more detail: #56012 |
Beta Was this translation helpful? Give feedback.
3 replies
-
Hello, is this supposed to be working now ? Cause I still get |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
New to Zephyr so apologies if there are any violations of contribution rules/standards in this issue.
I'm trying to get the IMU on the XIAO BLE Sense up and running with the lsm6dsl sample but it seems to fail during the initialization section of the LSM6DSL driver. As the LSM6DS3TR-C is pretty much a pin-for-pin replacement, I believe this should be working, so something seems amiss (but I acknowledge this sample hasn't been officially tested on the XIAO BLE Sense yet).
It seems to fail at these lines
zephyr/drivers/i2c/i2c_nrfx_twim.c
Lines 155 to 178 in b0ea0c8
nrfx_twim
driver after calling lsm6dsl_reboot here:zephyr/drivers/sensor/lsm6dsl/lsm6dsl.c
Line 716 in 9a63f9d
I2C debug log messages show I2C messages repeatedly being dropped when running the sample, and since the reboot pin process seems to be the same between the two chips, my gut is pointing me towards the I2C being the issue.
I added a log message to the event_handler for the
nrfx_twim
and didn't see any messages from it. Add that it fails to take thecompletion_sync
mutex, which is released by theevent_handler
onNRFX_TWIM_EVT_DONE
, seems to indicate that theevent_handler
is not being successfully called. FYI,k_sem_take
always fails with-EAGAIN
, but I don't believe that is much help in this case. Maybe it's my lack of experience but I cannot seem to find why this would be the case.To reproduce simply build the
lsm6dsl
sample (samples/sensor/lsm6dsl) for the boardxiao_ble_sense
. It is using all the default configuration settings.Beta Was this translation helpful? Give feedback.
All reactions