- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
- only track consecutive errors (not total) to trigger full reset if necessary
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
- only track consecutive errors (not total) to trigger full reset if necessary
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- perform reset as per the datasheet (wakeup accel/gyro and wait before proceeding)
- add register bank selection (not yet used)
- track consecutive errors to trigger full reset if necessary
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- perform reset as per the datasheet (wakeup accel/gyro and wait before proceeding)
- add register bank selection (not yet used)
- track consecutive errors to trigger full reset if necessary
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
- only track consecutive errors (not total) to trigger full reset if necessary
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- update copyright year
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
- only track consecutive errors (not total) to trigger full reset if necessary
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
- track consecutive errors and trigger full reset if necessary
- remove interrupt perf counter and instead only count misses
- minor style changes to stay in sync with the other Invensense drivers
- read FIFO count along with full transfer as a sanity check
Because the velocity starts with a positive value (down) to ramp-up
slowly the motors, the position setpoint (integral) was going down into
the ground, canceling the input of the velocity controller during the
early takeoff phase.
Instead of a smooth ramp, the behavior was a delay followed by a quick
takeoff or a land detection.
Setting the current altitude setpoint with the current altitude during
this phase avoids the canceling effect and creates a takeoff purely
velocity-based.