I’m porting Ardupilot to custom hardware built around a Raspberry Pi Zero W. In order to keep my hardware plug-and-play, I need to resort to an I2C connection for my LSM9DS1 IMU. Because I’m building for a sailboat, I don’t think the additional loop time will compromise control stability. It looks like the current LSM9DS1 drivers don’t have compatibility with I2C, unlike the Invensense drives. I’m a new developer working through the APM onboarding documentation, and I think LSM9DS1 I2C support could be a good first feature for me to implement. Based on the device datasheet and other drivers, this addition looks straightforward but I’m concerned there might be more nuance which prevented I2C support from being added in the first place. I want to ask other developers before I start:
- Is I2C too slow for most APM vehicles, or is there another reason that the LSM9DS1 does not have I2C support?
- Would LSM9DS1 I2C support be a welcome addition to the codebase?
- Should I do another project first that is a more suitable first exposure to APM’s HAL, macro usage, and threading support?
Thank you very much!