dshot related freezing of I2C bus transactions (and possibly other tasks as well)

Description

  • baro spike has been seen on next as well as on my own devel branch.

  • spike happens on Revo as well as on Sparky2

  • Baro spike is easier to troubleshoot by connecting logic analyzer to the I2C bus (Sparky: I2C) and triggering
    on SCL remaining high for 100 to 150 ms. -> This is a reliable method to trigger on the issue.

  • spike appears on an irregular interval: sometimes several minutes, sometimes 3 in 15 seconds.

  • spike has a very small width. I have the baro uavo update interval set to 100ms.
    Default update interval is 1s. This explains why I saw the spike but no one else noticed.

Important configuration parameters:

  • 4 motor outputs

  • dshot 600

  • WS2811 leds active on output 6

  • GPS (NEO-8M)

  • aux mag

Tests so far:

  • disabled WS2811 -> still freezes for 115 ms

  • disabled auxmag and use on-board -> still freezes for 115 ms

  • switched from dshot to oneshot125 -> no I2C bus freeze for +60 minutes

Environment

Important configuration parameters:

  • 4 motor outputs

  • dshot

  • WS2811 leds active on output 6

  • GPS (NEO-8M)

  • aux mag

Status

Assignee

Unassigned

Reporter

Jan NIJS

Labels

None

Components

Fix versions

Affects versions

future_release

Priority

Medium