-
Notifications
You must be signed in to change notification settings - Fork 18.2k
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
hwdef: add Lumenier LUX F765 - NDAA #29377
base: master
Are you sure you want to change the base?
hwdef: add Lumenier LUX F765 - NDAA #29377
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Overview
This PR adds the hardware definition and bootloader documentation for the new Lumenier LUX F765 - NDAA flight controller.
- Added a comprehensive README with features, pinouts, and port mappings.
- Included detailed tables for SPI, UART, connector, and PWM mappings that document the board's capabilities.
Reviewed Changes
File | Description |
---|---|
libraries/AP_HAL_ChibiOS/hwdef/LumenierLUXF765-NDAA/README.md | Added README documenting board features, pinouts, signal mappings, and firmware loading instructions |
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
|
||
## PWM Output | ||
|
||
The Lumenier LUX F7865 NDAA supports 12 PWM outputs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent model number: 'LUX F7865' appears on line 338, but the PR title and other references use 'LUX F765'. Please correct this to maintain consistency.
The Lumenier LUX F7865 NDAA supports 12 PWM outputs. | |
The Lumenier LUX F765 NDAA supports 12 PWM outputs. |
Copilot is powered by AI, so mistakes are possible. Review output carefully before use.
The 4 auxilliary outputs are labeled S1 through S4. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo detected: 'auxilliary' should be corrected to 'auxiliary'.
The 4 auxilliary outputs are labeled S1 through S4. | |
The 4 auxiliary outputs are labeled S1 through S4. |
Copilot is powered by AI, so mistakes are possible. Review output carefully before use.
</tr> | ||
<tr> | ||
<td>3</td> | ||
<td>AT756E</td> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SPI mapping inconsistency: 'AT756E' on line 69 does not match 'AT7456E OSD' mentioned in the features; please verify and correct the part number.
<td>AT756E</td> | |
<td>AT7456E</td> |
Copilot is powered by AI, so mistakes are possible. Review output carefully before use.
Here are my suggested changes:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment
10f9b06
to
eda7132
Compare
@andyp1per - Could you please elaborate on the BIDIR tags? Can we do BIDIR with a TIMx_UP peripheral or is it channel based? I guess we could be limited on DMA too... |
It gives you bi-directional dshot on two channels - 1-2 or 3-4, doesn't matter which of each its attached to except that the DMA is allocated to that channel and on F7 the options are quite limited. If you look at the generated hwdef.h you can see the channels that were selected. UP is used for outbound, so applies to the whole timer. Ideally you would share the same channel between UP and CH but that is only an option for some channels. |
So, the Ardupilot implementation shares the TIMx_CHy DMA stream with two TIMx channels? I would assume the two channels per stream is the limit because there is some sort of multiplexing going on between the channels and DMA stream? I am also not quite following your last sentence. |
Its an STM limitation on input capture. If you look at the reference manual for the chip you will see this. We rotate input capture between the two channels but share the DMA channel
On H7 because of DMAMUX we can allocate whichever we channels we like and the AP implementation is optimized to use the same DMA channel for outbound (UP) as inbound (CH) saving DMA resources. On F4 and F7 the DMA options are fixed, only certain channels can be assigned to certain peripherals but there are combinations where this still works. |
Thank you for the explanation, really appreciate it! After examining the reference manual a bit closer, I better understand the implementation. Anyway, I made those updates based on your comments. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in addition to the changes below...remove comment in Top board image beside first ESC connector entirely.....its wrong
## UART Mapping | ||
|
||
- SERIAL0 -> USB | ||
- SERIAL1 -> USART1 (Telem1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- SERIAL1 -> USART1 (Telem1) | |
- SERIAL1 -> USART1 (RCinput, DMA enabled) |
- SERIAL0 -> USB | ||
- SERIAL1 -> USART1 (Telem1) | ||
- SERIAL2 -> UART5 (Telem2) | ||
- SERIAL3 -> USART3 (GPS1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- SERIAL3 -> USART3 (GPS1) | |
- SERIAL3 -> USART3 (GPS1, TX DMA enabled) |
|
||
- SERIAL0 -> USB | ||
- SERIAL1 -> USART1 (Telem1) | ||
- SERIAL2 -> UART5 (Telem2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- SERIAL2 -> UART5 (Telem2) | |
- SERIAL2 -> UART5 (Telem2, DMA enabled) |
- SERIAL3 -> USART3 (GPS1) | ||
- SERIAL4 -> UART8 (GPS2) | ||
- SERIAL5 -> USART2 (ESC Telemetry) | ||
- SERIAL6 -> UART4 (Spare) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- SERIAL6 -> UART4 (Spare) | |
- SERIAL6 -> UART4 (DisplayPort) |
- PWM 1 through 4 (M1 - M4) are in TIM2 | ||
- PWM 5 through 8 (M5 - M8) are in TIM4 | ||
|
||
The 4 auxiliary PWM outputs are in 1 group: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 4 auxiliary PWM outputs are in 1 group: |
The board can be easily transitioned from Betaflight to Ardupilot in a matter of minutes. | ||
Please see the [product page](https://www.getfpv.com/lumenier-lux-f765-flight-controller-ndaa.html) | ||
for firmware binaries and instructions on how to transition from Betaflight to Ardupilot. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-needs section on where to find firmware
-needs sections for RC Input,Compass, OSD, Battery Monitor, and Camera Switch
See Wiki: https://ardupilot.org/dev/docs/readme_file.html (just merged give it a few hours to appear)
# USART3 for GPS1 | ||
PD9 USART3_RX USART3 | ||
PD8 USART3_TX USART3 | ||
define DEFAULT_SERIAL3_PROTOCOL SerialProtocol_GPS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove, not needed, already default
# UART8 GPS2 | ||
PE0 UART8_RX UART8 NODMA | ||
PE1 UART8_TX UART8 NODMA | ||
define DEFAULT_SERIAL4_PROTOCOL SerialProtocol_GPS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove, not needed, already default
# UART4 spare uart | ||
PD0 UART4_RX UART4 NODMA | ||
PD1 UART4_TX UART4 NODMA | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
define DEFAULT_SERIAL3_PROTOCOL SerialProtocol_MSP_DisplayPort |
|
||
# setup for OSD | ||
define OSD_ENABLED 1 | ||
define HAL_OSD_TYPE_DEFAULT 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
define HAL_OSD_TYPE_DEFAULT 1 | |
define HAL_OSD_TYPE_DEFAULT 5 |
Hello All!
The following is a submission for our new Lumenier flight controller - LUX F765 - NDAA!
The LUX F765 - NDAA flight controller has the following features:
Please see the board's README for additional details!
Added in this pull request are the flight controller's hwdef and bootloader files. Please let me know if there are any questions, concerns, or issues!