IMU generated interrupt servicing on XIAO BLE sense nrf52840 with mbed-enabled

Took out the Wire.h which didn’t change anything.

The problem appears to be “myIMU.readRegisterInt16”. Perhaps it isn’t thread safe, etc. or there is a conflict between interrupts and i2c used to access the IMU, eg. interrupts used by i2c may be turned off while in the ISR.

I guess I’ll have to try going medieval, i.e. relatively low level for the ISR. That’s something I was going to do anyway for performance after knocking out a proof of concept at a high level. If I knew a little more about the embed lib used, maybe I’d look under the hood. myIMU doesn’t work for me at all in the non-embed framework. The

The IMU function will perform better when we use the “Seeed nrf52 mbed-enabled Boards Library”

statement in the Wiki is a euphemism.

1 Like