-
Couldn't load subscription status.
- Fork 1.7k
FPV Boomerang #10967
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
base: master
Are you sure you want to change the base?
FPV Boomerang #10967
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||
User description
This PR adds a new "Boomerang" platform type suitable for control of the aircraft shown above.
The boomerang platform uses a mixing mode where pitch and roll are applied according to the instantaneous position of each motor relative to the control platform.
In this mode the effect of the mixing table is altered; 'pitch' specifies the amplitude of a motor's cyclic mixing, and 'roll' specifies the phase, where 0-1 represents 0-360 degrees.
To support this an additional "rotor" sensor is added. This is intended to use a single digital input to implement a self-indexing encoder. The encoder track must consist of two or more ticks with uniformly spaced trailing edges. A single tick denoting the zero position must be exactly twice the width of all the other ticks. The rotor driver uses the system clock to make a first-order approximation of the exact instantaneous position.
The FURYF4OSD target has been modified, as a rotor encoder pin must be specified.
This is the code as-is running on the boomerang in the video
The boomerang can be printed in 160 grams of pla from models
TODO
PR Type
New Feature
Description
This description is generated by an AI tool. It may have inaccuracies
Adds new PLATFORM_BOOMERANG platform type for FPV boomerang aircraft
Implements rotor sensor with self-indexing encoder for position tracking
Adds dynamic motor mixing based on instantaneous rotor position
Includes fast sin/cos approximation functions for real-time calculations
Changes diagram
Changes walkthrough 📝
6 files
Add BOOMERANG state flagImplement boomerang dynamic mixing logicAdd PLATFORM_BOOMERANG enum valueInitialize rotor sensor systemNew rotor sensor driver implementationRotor sensor API header3 files
Configure rotor pin for FURYF4OSDAdd rotor source files to buildAdd BOOMERANG to platform type options