Repository navigation
feat: add support for HelloRadioSky V15 - #7867
Merged
Merged
Conversation
pfeerick
force-pushed
the
pfeerick/main-v15
branch
4 times, most recently
from
October 7, 2026 10:23
be7dddf to
f8a375f
Compare
Adds the HelloRadioSky V15 (STM32H750, LTDC colour LCD) target and Companion support, moving V12 alongside it under targets/hrs. V15-specific features: battery sensor and charger UI, AUX3 chat module, IMU, and the HRS Tools suite (auto measure for PWM/PPM/SBUS/CRSF/SUMD/ DJI RS/MAVLink, pulse scope, servo and DShot testers). Co-authored-by: helloradiosky <157123396+helloradiosky@users.noreply.github.com> Co-authored-by: philmoz <philmoz@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a weak customRadioSetupLines() hook so a target can append its own Radio Setup lines, and move the V15 AI Terminal window and AI Mode line into targets/hrs/tools. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mixer.cpp now uses batterySensorVoltage()/batterySensorCurrent() from the board header instead of including V15's batsenser.h, and the unused Bat6sInterfaceFunction enum moves to batsenser.h. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The current source is in 0.1 A steps, so the range and voice playback should use PREC1 (they used PREC2, reading 10x too small). Power is now announced with its sign. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0x4C78746F is already used by the FlySky ST16, which made Companion treat the two radios as compatible. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Map TX_BAT_CURRENT/TX_BAT_POWER to the reserved RESERVED3/4 special source slots, available on V15 only, so models using them are no longer lost when saved from Companion. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Firmware/nightly/Companion CI matrices, WASM simulator modules, generate-hw-defs.sh, CMake presets, fw.json, compilation options docs, bug report template, and the regenerated web/public/radios.json. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Opt V15 into the configurable/dimmable status LEDs from #7806, like V12: - -DSTATUS_LED_PWM, with TIM2 (free, APB1, own IRQ) as the software PWM timer in v15.json. TIM7 can't be used as on V12, it is the DShot tester's frame timer. - Drop V15's own led_driver.cpp. It was a copy of the generic driver from before #7806 whose strong symbols override the generic weak ones, so PWM would never be used. Without PWM the generic driver behaves the same (same pins, CFS strip start is 0). - boardInit() uses ledBoot() instead of setting the blue LED directly. - Regenerate yaml_datastructs_v15.cpp for statusLedDim/statusLedSrc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add "tx-current" and "tx-power" next to "tx-voltage", so scripts can use
getValue("tx-current") / getFieldInfo() on radios with a battery sensor.
getSourceIndex() matches the on-screen (translated) source name, so
lookups by "BatI"/"BatP" would break once those strings are localised.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add "vgr" and "vfl" for the CI1302 voice control sources (#7501), so getValue()/getFieldInfo() can find them by name like other single sources. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pfeerick
force-pushed
the
pfeerick/main-v15
branch
from
October 7, 2026 23:01
f8a375f to
7fc4d41
Compare
The charging HUD reopened and stayed after unplugging the charger: PI3 sees the IP2363 LED1 output through 100R and the charge LED through 2K. Once LED1 stops driving, the internal pull-up against the LED path leaves the pin around 1.6V, which reads as charging. A pull-down makes the undriven state read low; LED1 still easily drives it high. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The CSD203 system current is positive while the radio draws from the battery and negative while charging, but the HUD treats positive as charging (bright current bar, warning colour when negative). Charging showed negative amps/watts and a warning-coloured bar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pfeerick
marked this pull request as ready for review
October 8, 2026 01:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of changes:
Features unique to the V15 that are currently enabled: