Skip to content

Hrs v14lcd main 3.0#7480

Open
helloradiosky wants to merge 2 commits into
EdgeTX:mainfrom
helloradiosky:hrs-v14lcd-main_3.0
Open

Hrs v14lcd main 3.0#7480
helloradiosky wants to merge 2 commits into
EdgeTX:mainfrom
helloradiosky:hrs-v14lcd-main_3.0

Conversation

@helloradiosky

@helloradiosky helloradiosky commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

added V14LCD target

Summary by CodeRabbit

  • New Features
    • Added support for the HelloRadioSky V14LCD radio model with OLED display and complete hardware configuration including controls, switches, and peripheral mappings.

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds the HelloRadioSky V14LCD as a new firmware target. Changes include a new v14lcd.json hardware definition, CMake build configuration, registration in all build scripts and tooling, HAL preprocessor extensions in hal.h, LCD driver and USB descriptor updates, and a new navigation macro.

Changes

HelloRadioSky V14LCD Hardware Target

Layer / File(s) Summary
Board hardware definition
radio/src/boards/hw_defs/v14lcd.json
New JSON defining ADC groups/inputs, switch array (SA–SF), key GPIO mappings, trim controls, OLED display config, and hardware capability flags.
Build system registration
radio/src/targets/taranis/CMakeLists.txt, tools/boards.py, tools/build-common.sh, tools/build-wasm-modules.sh, radio/util/build-firmware.py, tools/generate-hw-defs.sh, fw.json, radio/util/hw_defs/legacy_names.py
Registers V14LCD across CMake, build scripts, firmware build tools, WASM plugin list, hw-defs generation, and legacy analog input mapping.
HAL preprocessor extensions
radio/src/targets/taranis/hal.h
Extends 18 #if/#elif conditionals to include RADIO_V14LCD for rotary encoder, ADC, GPIO, module routing, telemetry, trainer bay, LCD orientation, I2C, haptic, and hall stick.
LCD driver, USB descriptor, navigation
radio/src/targets/taranis/lcd_driver_spi.cpp, radio/src/targets/taranis/usb_descriptor.h, radio/src/gui/navigation/navigation.h
Applies V14 LCD contrast/init/Vop logic to V14LCD; defines USB descriptor strings for "HelloRadioSky V14LCD"; adds NAVIGATION_X7_HRS macro and maps it to X7 RM-style key events.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

hardware support

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (1 warning, 2 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive Title is vague and generic; 'Hrs v14lcd main 3.0' lacks clarity about the actual changes being made. Use a clear, descriptive title like 'Add V14LCD target support' that better communicates the primary change.
Description check ❓ Inconclusive Description is minimal and incomplete; it only states 'added V14LCD target' without following the template structure or providing sufficient detail. Expand the description to include the template sections: a summary explaining what the V14LCD target is, why it's needed, and a detailed summary of changes across all affected files.
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tools/generate-hw-defs.sh`:
- Line 12: The FLAVOR variable assignment on line 12 uses unquoted parameter
expansion which can trigger glob expansion if FLAVOR is externally set with
wildcard characters. Add double quotes around the entire parameter expansion in
the FLAVOR assignment, changing ${FLAVOR:=...} to "${FLAVOR:=...}" to prevent
the shell from interpreting glob characters in the default value list.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 898acf04-b42b-43ca-a5f7-5fc43216f238

📥 Commits

Reviewing files that changed from the base of the PR and between 94f5d50 and 3199bab.

📒 Files selected for processing (13)
  • fw.json
  • radio/src/boards/hw_defs/v14lcd.json
  • radio/src/gui/navigation/navigation.h
  • radio/src/targets/taranis/CMakeLists.txt
  • radio/src/targets/taranis/hal.h
  • radio/src/targets/taranis/lcd_driver_spi.cpp
  • radio/src/targets/taranis/usb_descriptor.h
  • radio/util/build-firmware.py
  • radio/util/hw_defs/legacy_names.py
  • tools/boards.py
  • tools/build-common.sh
  • tools/build-wasm-modules.sh
  • tools/generate-hw-defs.sh

Comment thread tools/generate-hw-defs.sh
@Johanl1964

Copy link
Copy Markdown

How is it intended? The V14 LCD FW here (v14-1f865aa) is still only for OLED, not LCD, Have tested!
Skärmbild från 2026-06-24 08-58-14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants