Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DShot module #12854

Merged
merged 27 commits into from
Oct 11, 2019
Merged

Add DShot module #12854

merged 27 commits into from
Oct 11, 2019

Commits on Oct 10, 2019

  1. stm32 timers: add dshot implementation

    Igor-Misic authored and bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    8874e89 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9532a63 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ca1d68f View commit details
    Browse the repository at this point in the history
  4. dshot: add dshot driver

    Supports all DShot modes, but no telemetry yet.
    It includes the modes and capture configuration from FMU so that it serves
    as drop-in replacement.
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    f253ee0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    929d49e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    474840c View commit details
    Browse the repository at this point in the history
  7. fmu-v4: add dshot timer config

    Igor-Misic authored and bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    a3c4b63 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    87fec4c View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    10156f3 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    78e9837 View commit details
    Browse the repository at this point in the history
  11. kakutef7: enable dshot

    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    5ff8193 View commit details
    Browse the repository at this point in the history
  12. dshot: move implementation to a separate directory & library

    So that the static memory overhead is not added to targets w/o dshot
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    2370c85 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    df871ae View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d3e718c View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    fb82d94 View commit details
    Browse the repository at this point in the history
  16. dshot: add support to send commands via CLI

    This enables the possibility to permanently reverse motor directions :)
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    5e0b112 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    1407983 View commit details
    Browse the repository at this point in the history
  18. dshot: reduce static buffer size

    And handle failures of up_dshot_init().
    
    On Omnibus: reduces memory usage if dshot is enabled by ~1.0KB.
    The buffer is roughly 1KB in size.
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    ac6de52 View commit details
    Browse the repository at this point in the history
  19. dshot: check if DMA still in progress

    No other functional change, just restructuring.
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    343b5c7 View commit details
    Browse the repository at this point in the history
  20. dshot: update timer generation before DMA request

    This reloads the timer configuration before triggering DMA. Without that,
    in rare cases, there were 17 bits sent instead of 16.
    The 1. bit (1. pulse) was always wrong (too much), the rest of the bits
    were the correct DShot packet that was meant to be sent.
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    5da5586 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    479cb6d View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    3aa3943 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    24bd023 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    940a224 View commit details
    Browse the repository at this point in the history
  25. fmu-v5: add dshot support

    But only on the first 4 FMU outputs, as the next ones conflict with px4io
    serial dma (UART8_RX)
    
    RX DMA is disabled on the GPS port as well (conflicts with TIM1).
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    e9cd447 View commit details
    Browse the repository at this point in the history
  26. parameters: defer auto-saving to after disarming for flash-based params

    This is especially important for DShot, that does not update when the CPU
    stalls.
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    6b191aa View commit details
    Browse the repository at this point in the history
  27. fmu-v3: enable DShot

    Disables RX DMA on TEL4 and IO debug serial port
    bkueng committed Oct 10, 2019
    Configuration menu
    Copy the full SHA
    69a5561 View commit details
    Browse the repository at this point in the history