Skip to content

Support for additional radio receiver protocols (Crossfire, etc.) #12

@Cyberslug

Description

@Cyberslug

Hi! I've been working with PlainFlight and really appreciate the work you've put into this project.
I'm interested in adding support for additional radio receiver protocols beyond SBUS. Currently, SBUS is deeply embedded throughout the codebase, which makes it challenging to add alternatives like Crossfire, SRXL2, or other protocols.

Proposed approach:
I'd like to suggest refactoring the receiver handling to use an abstract base class that defines the interface for radio receivers. This would allow different protocol implementations to be swapped in cleanly without touching the core flight logic.

What I can contribute:
I have a Crossfire implementation with the same structure as the existing SBus implementation ready to test
I'm happy to create the abstract base class and refactor the existing SBUS code to use it
I can implement the integration so other protocols can be added easily in the future

Important caveat:
I'm contributing this in my spare time and can't commit to specific deadlines, but I'm motivated to see this through.
Would you be open to this kind of refactoring? If so, I'm happy to discuss the design approach before I start work to make sure it aligns with your vision for the project. If you have preferences on how the abstraction should be structured or any concerns about the change, I'd love to hear them.
Thanks for considering this!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions