rosflight / airbourne_f4

Be the Jason Bourne of the skies
BSD 3-Clause "New" or "Revised" License
6 stars 6 forks source link

New queue-based I2C driver #41

Open dpkoch opened 5 years ago

dpkoch commented 5 years ago

This implements the new queue-based I2C driver that allows for greater flexibility handling non-standard I2C peripherals.

We outlined the major blocks of logic that need to be implemented on the whiteboard; I've included pictures of that at the end. We identified the following blocks:

IMG_20190628_141821 IMG_20190628_141817

dpkoch commented 5 years ago

Tested the I2C sniff example with 5 sensors (baro, MB1242, GPS, TFmini, and airspeed) and it seems to work. Also seemed to handle hot-plugging/unplugging of any of those sensors pretty well (never crashed, just reported however many were plugged in).

I was (un)plugging them pretty slowly though, so we may want to do a more robust test. We'll need to get the unstick() function finalized though before that'll work probably.

dpkoch commented 5 years ago

Also we need to update all the sensor drivers to use the new API

superjax commented 4 years ago

What's the status on this?