-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New target: FrSky/Rotorflight Vantac RF007 #11082
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?
Conversation
Quite similar to NEXUSX, but with FrSky built-in receiver
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||
|
Great work! I will get a unit up and running with this tonight. |
|
The second suggestion from the bot can be ignored. |
|
The first suggestion "assign barometer to correct I2C bus" is factually incorrect. |
|
Been testing here and I dont seem to get all the ports? configuratoir only shows port 3/4/5 despite using the noi2c version or base version. I think this is by design.. but It would be good to have a target with 4 ports. VANTAC_RF007_NOI2C but with 7 servos. |
|
Indeed, there is no target with 3 exposed UARTs (i.e. 5 in total, including the internal UART5 for the receiver and the USB port).
How many and which ones we choose to actually implement is an open question. I have chosen 3 I thought would be good. But maybe a different choice is better. |
|
With 3.. we have a base issue
Zero ability for an osd. |
|
Looking at this and pin-out. We coud achieve: THR *7 channels all up 4 uarts. This would essentially be a good combo for many |
|
It may be worth noting targets can actually be combined, just one target can cover multiple options if a pair of pins just switches between functions. For example if a pair can be used for either a uart or I2C. Where a new target WOULD be needed is if the same function gets shifted around to different pins. So you could have two pins that can either be the last two servos, or be a uart, or be I2C. Defining the pins as available as a uart doesn't do anything if the user doesn't actually use it as a UART. |
|
Very interesting, in my test this didn't work. But maybe i did something wrong. I will revisit the targets and retest this week |
The resource command can be useful to see what actually got allocated at runtime, based on the current configuration. |
|
For traditional heli use, the servo ports will always be at the rear of the heli. |
|
It would be nice to have a definitive arrow. The default orientation can be setup however the arrow directs it. I just figured the easier it is to set up, for someone who has never used an FC before. The better. |
|
I will raise it with frsky tomorrow |
|
It seems sharing pins works, but has strange priorities:
This means any pins defined as I2C cannot be used for a UART sensor or peripheral like GPS, OSD, FrSky Master or external Blackbox. That is because the pins will be used as I2C instead. There doesn't seem to be a way to disable I2C from the configurator. I found this by testing with an external serial rx, FrSky Master mode + oscilloscope, and using the On this particular hardware, the priority issue only affects port "C". I have updated the README to explain how the pin assignment works. Thanks to @sensei-hacker for pointing out that combining targets like this is possible |
a0ff16a to
0c6b4fd
Compare

User description
Adds support for FrSky/Rotorflight Vantac RF007.
This is a similar flight controller to the Nexus X, but it comes with a FrSky receiver instead. While originally designed for helicopters, its form factor is also appealing for fixed wing aircraft running INAV.
Testing
I have tested:
Choice of pin functions
Many pins can have multiple roles.
I have created three targets
VANTAC_RF007,VANTAC_RF007_9SERVOSandVANTAC_RF007_NOI2C.VANTAC_RF007has 7 servo outputs, 2 UARTs and 1 non-shared I2C.VANTAC_RF007_9SERVOShas 9 servo outputs, 1 UART and non-shared I2C.VANTAC_RF007_9SERVOShas 9 servo outputs, 2 UARTs and no I2C.I hope this covers most use cases without creating too many targets. I am happy to modify the targets if a different set of tradeoffs is preferred.
The targets are inspired by #11047.
PR Type
New Target
Description
Adds support for FrSky/Rotorflight Vantac RF007 flight controller
Provides three target variants with different pin configurations
Includes built-in FrSky FBUS receiver on UART5
Supports ICM42688P gyro/accelerometer, SPL06 barometer, W25N01G flash storage
Diagram Walkthrough
File Walkthrough
target.h
Target hardware configuration and pin definitionssrc/main/target/VANTAC_RF007/target.h
variant-specific pins
target.c
Timer hardware and servo output mappingssrc/main/target/VANTAC_RF007/target.c
CMakeLists.txt
CMake build configuration for variantssrc/main/target/VANTAC_RF007/CMakeLists.txt
config.c
Target configuration function stubsrc/main/target/VANTAC_RF007/config.c
README.md
Comprehensive documentation and pin referencesrc/main/target/VANTAC_RF007/README.md