Skip to content

HAL_ChibiOS: Added support for GreenSight's UltraBlue flight controller#28995

Merged
tridge merged 2 commits intoArduPilot:masterfrom
sionv:add_ultrablue_support
Jul 14, 2025
Merged

HAL_ChibiOS: Added support for GreenSight's UltraBlue flight controller#28995
tridge merged 2 commits intoArduPilot:masterfrom
sionv:add_ultrablue_support

Conversation

@sionv
Copy link
Copy Markdown
Contributor

@sionv sionv commented Jan 3, 2025

No description provided.

@sionv sionv marked this pull request as draft January 3, 2025 03:41
Comment thread libraries/AP_HAL_ChibiOS/hwdef/UltraBlue/hwdef.dat Outdated
Comment thread libraries/AP_HAL_ChibiOS/hwdef/UltraBlue/hwdef-bl.dat Outdated
Copy link
Copy Markdown
Contributor

@andyp1per andyp1per left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good.

@Hwurzburg Hwurzburg self-requested a review January 4, 2025 12:51
Copy link
Copy Markdown
Contributor

@Hwurzburg Hwurzburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few things upon cursory review that need answers before I do a thorough review:

  1. The photo does not indicate the "mezzanine" connector, or its type
  2. The defaults.param file should only have the SERVOx_FUNCTION items, all others belong in the hwdef
  3. Once you get a board id assigned in a separate PR, use its text description in the .dat files
  4. Need bootloader file added
  5. No SD card slot shown in photo...consider adding SD in bootloader for firmware load from SD
  6. Boot switch is not indicated in photo....what is the initial firmware? ArduPilot?

@sionv
Copy link
Copy Markdown
Contributor Author

sionv commented Jan 22, 2025

A few things upon cursory review that need answers before I do a thorough review:

1. The photo does not indicate the "mezzanine" connector, or its type

2. The defaults.param file should only have the SERVOx_FUNCTION items, all others belong in the hwdef

3. Once you get a board id assigned in a separate PR, use its text description in the .dat files

4. Need bootloader file added

5. No SD card slot shown in photo...consider adding SD in bootloader for firmware load from SD

6. Boot switch is not indicated in photo....what is the initial firmware? ArduPilot?

Thank you for looking at this. I have made your recommended changes.

  1. The photo and README.md have been updated.
  2. Moved relay pins and Serial6 protocol selection from defaults.param to hwdef
  3. Now use board id text description in .dat files
  4. Bootloader files have been updated
  5. Image updated and SD added to bootloader. Firmware load from SD tested
  6. The UltraBlue will be shipping with ArduPilot firmware.

Thanks again for your time

@sionv sionv marked this pull request as ready for review January 22, 2025 19:39
@Hwurzburg Hwurzburg added the WikiNeeded needs wiki update label Jan 22, 2025
@sionv sionv requested review from Hwurzburg and andyp1per January 28, 2025 15:46
Copy link
Copy Markdown
Contributor

@Hwurzburg Hwurzburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-Review comments:

  1. Which connector has the GPIO64/65 outputs?
  2. Where is the TELEM1 connector?
  3. ESC/Servo outputs on messanine need number designations
  4. What pins are all the GPIOs on the JP12 connector??? do they include the PWM outputs 10-14
  5. The Readme needs RC, PWM Output, GPIO, Firmware ,and BattMonitor Sections like other Readme file

@sionv
Copy link
Copy Markdown
Contributor Author

sionv commented May 21, 2025

Re-Review comments:

1. Which connector has the GPIO64/65 outputs?

2. Where is the TELEM1 connector?

3. ESC/Servo outputs on messanine need number designations

4. What pins are all the GPIOs on the JP12 connector??? do they  include the PWM outputs 10-14

5. The Readme needs RC, PWM Output, GPIO, Firmware ,and BattMonitor Sections like other Readme file

Thank you for reviewing this. Your recommended changes have been made.

  1. GPIO 64 and GPIO 65 go to J2 - Jetson Payload 1. Information for this connector has been added to the README.md.
  2. We don’t have a telem1 connector and instead only have a telem2 connection. References to telem1 in hwdef.dat, hwdef-bl.dat and README.md were renamed to Jetson telem, as it is a direct connection to the Jetson.
  3. Number designations for ESC/Servo outputs on the mezzanine connector have been added.
  4. JP12 contains PWM outputs 9 - 14. The first 8 PWMs are on the Mezzanine connector. The next 6 are on the GPIO connector JP12.
  5. The README.md has been updated with RC Input, PWM Output, GPIOs, Firmware, and Battery Monitoring sections.

The graphics have also been updated to reflect the updated connector layout.

Thanks again for your help.

@sionv sionv requested a review from Hwurzburg May 21, 2025 22:11
@Hwurzburg
Copy link
Copy Markdown
Contributor

Hwurzburg commented Jun 20, 2025

@sionv sorry its taken so long, but I started the review, but have a question....is UART8 TX pin available? if not then another UART would need to be used for bi-dir RC protocols....let me know and I will finish up the re-review (quickly this time)

@sionv
Copy link
Copy Markdown
Contributor Author

sionv commented Jun 23, 2025

@sionv sorry its taken so long, but I started the review, but have a question....is UART8 TX pin available? if not then another UART would need to be used for bi-dir RC protocols....let me know and I will finish up the re-review (quickly this time)

No worries! I appreciate you taking the time to review the pull request.

UART8_TX pin (PE1) and PPM-in pin (PB4) are both tied to the PPM port (JP1) and the Spektrum port (JP4). This should allow support for bi-directional RC protocols.

@Hwurzburg
Copy link
Copy Markdown
Contributor

bi directional protocols like crsf need separate RX and TX UART pins....you cant tie rx and tx together on one pin

@sionv
Copy link
Copy Markdown
Contributor Author

sionv commented Jun 25, 2025

bi directional protocols like crsf need separate RX and TX UART pins....you cant tie rx and tx together on one pin

My apologies. We don’t actually support bi-directional RC protocols on that RCIN connector. To do that, a user would need to use the telem2 or the GPS2 port.

Comment thread libraries/AP_HAL_ChibiOS/hwdef/GreenSightUltraBlue/README.md Outdated
Comment thread libraries/AP_HAL_ChibiOS/hwdef/GreenSightUltraBlue/README.md Outdated
Comment thread libraries/AP_HAL_ChibiOS/hwdef/GreenSightUltraBlue/README.md Outdated
Comment thread libraries/AP_HAL_ChibiOS/hwdef/GreenSightUltraBlue/README.md Outdated
@sionv sionv requested a review from Hwurzburg July 8, 2025 21:58
Copy link
Copy Markdown
Contributor

@Hwurzburg Hwurzburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a couple of small n its...looks good
needs squash and lib split...and @andyp1per approval

Comment thread libraries/AP_HAL_ChibiOS/hwdef/GreenSightUltraBlue/README.md Outdated
Comment thread libraries/AP_HAL_ChibiOS/hwdef/GreenSightUltraBlue/README.md Outdated
Comment thread libraries/AP_HAL_ChibiOS/hwdef/GreenSightUltraBlue/README.md Outdated
@Hwurzburg
Copy link
Copy Markdown
Contributor

do not use merge commits...rebase on master...that is not usually necessary either unless a specific master changed is cuasing a CI failure

@sionv sionv force-pushed the add_ultrablue_support branch from 2973a81 to 8895f0b Compare July 10, 2025 19:18
@sionv
Copy link
Copy Markdown
Contributor Author

sionv commented Jul 10, 2025

@Hwurzburg, @andyp1per
The UART Mapping section has been updated, and squash and lib split completed.
Thanks again for your help on this.

@tridge tridge merged commit 792e992 into ArduPilot:master Jul 14, 2025
53 of 55 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants