chore: remove D1L companion example and env, keep only repeater #45

Merged
okapteinis merged 1 commit from chore/remove-d1l-companion into nightly 2025-12-27 13:11:46 +02:00
okapteinis commented 2025-12-27 13:09:12 +02:00 (Migrated from github.com)
  • Remove examples/companion_radio directory and all companion UI code
  • Remove SenseCapIndicator-D1L_companion environment from platformio.ini
  • Update README.md to reflect repeater-only setup
  • Update CI workflow to build only repeater environment
  • Clean up companion references from D1L variant config

The D1L is used solely as a repeater, so companion support adds unnecessary complexity and build failures. This cleanup leaves only the working repeater environment.

Description

Type of Change

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update
  • Hardware support addition
  • Performance improvement

Testing Performed

  • Builds successfully on affected platforms
  • Tested on physical hardware
  • Verified no new compiler warnings
  • Checked memory usage
  • Example applications still work
  • Documentation updated

Hardware Tested

  • Device:
  • Firmware variant:
  • Test results:

Code Quality Checklist

  • Follows existing code style
  • No dynamic memory allocation in inappropriate places
  • No reformatting of existing code
  • Added comments for non-obvious logic
  • Updated documentation
  • CHANGELOG.md updated if applicable

Breaking Changes

Screenshots/Logs

Additional Notes

- Remove examples/companion_radio directory and all companion UI code - Remove SenseCapIndicator-D1L_companion environment from platformio.ini - Update README.md to reflect repeater-only setup - Update CI workflow to build only repeater environment - Clean up companion references from D1L variant config The D1L is used solely as a repeater, so companion support adds unnecessary complexity and build failures. This cleanup leaves only the working repeater environment. ## Description <!-- Provide a clear description of what this PR does --> ## Type of Change <!-- Mark relevant items with [x] --> - [ ] Bug fix (non-breaking change fixing an issue) - [ ] New feature (non-breaking change adding functionality) - [ ] Breaking change (fix or feature causing existing functionality to change) - [ ] Documentation update - [ ] Hardware support addition - [ ] Performance improvement ## Related Issues <!-- Link related issues: Fixes #123, Relates to #456 --> ## Testing Performed <!-- Describe testing done --> - [ ] Builds successfully on affected platforms - [ ] Tested on physical hardware - [ ] Verified no new compiler warnings - [ ] Checked memory usage - [ ] Example applications still work - [ ] Documentation updated ## Hardware Tested <!-- List hardware tested, or write "N/A" if documentation-only --> - Device: - Firmware variant: - Test results: ## Code Quality Checklist - [ ] Follows existing code style - [ ] No dynamic memory allocation in inappropriate places - [ ] No reformatting of existing code - [ ] Added comments for non-obvious logic - [ ] Updated documentation - [ ] CHANGELOG.md updated if applicable ## Breaking Changes <!-- Describe any breaking changes and migration path, or write "None" --> ## Screenshots/Logs <!-- Add screenshots or serial logs if applicable --> ## Additional Notes <!-- Any additional information for reviewers -->
gemini-code-assist[bot] commented 2025-12-27 13:09:48 +02:00 (Migrated from github.com)

Summary of Changes

Hello @okapteinis, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly refactors the D1L firmware by eliminating all companion UI code and associated build configurations. The D1L device is now exclusively configured as a repeater, removing unnecessary complexity and resolving previous build failures related to companion support. This change ensures a more focused and stable firmware for its intended repeater role.

Highlights

  • Codebase Simplification: The entire 'examples/companion_radio' directory, containing companion UI code, has been removed to streamline the project.
  • Build Environment Streamlining: The 'SenseCapIndicator-D1L_companion' environment was removed from 'platformio.ini', and the CI workflow was updated to build only the repeater environment.
  • Documentation Update: The 'README.md' file was revised to accurately reflect the D1L's new repeater-only functionality and updated build instructions.
  • Configuration Cleanup: All companion-related references were purged from the D1L variant configuration files.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/build-d1l.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩︎

## Summary of Changes Hello @okapteinis, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly refactors the D1L firmware by eliminating all companion UI code and associated build configurations. The D1L device is now exclusively configured as a repeater, removing unnecessary complexity and resolving previous build failures related to companion support. This change ensures a more focused and stable firmware for its intended repeater role. ### Highlights * **Codebase Simplification**: The entire 'examples/companion_radio' directory, containing companion UI code, has been removed to streamline the project. * **Build Environment Streamlining**: The 'SenseCapIndicator-D1L_companion' environment was removed from 'platformio.ini', and the CI workflow was updated to build only the repeater environment. * **Documentation Update**: The 'README.md' file was revised to accurately reflect the D1L's new repeater-only functionality and updated build instructions. * **Configuration Cleanup**: All companion-related references were purged from the D1L variant configuration files. <details> <summary><b>Ignored Files</b></summary> * **Ignored by pattern:** `.github/workflows/**` (1) * .github/workflows/build-d1l.yml </details> <details> <summary><b>Using Gemini Code Assist</b></summary> <br> The full guide for Gemini Code Assist can be found on our [documentation page](https://developers.google.com/gemini-code-assist/docs/review-github-code), here are some quick tips. <b>Invoking Gemini</b> You can request assistance from Gemini at any point by creating a comment using either `/gemini <command>` or `@gemini-code-assist <command>`. Below is a summary of the supported commands on the current page. Feature | Command | Description --- | --- | --- Code Review | `/gemini review` | Performs a code review for the current pull request in its current state. Pull Request Summary | `/gemini summary` | Provides a summary of the current pull request in its current state. Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in pull request comments and review comments. Help | `/gemini help` | Displays a list of available commands. <b>Customization</b> To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a `.gemini/` folder in the base of the repository. Detailed instructions can be found [here](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github). <b>Limitations & Feedback</b> Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with :thumbsup: and :thumbsdown: on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up [here](https://google.qualtrics.com/jfe/form/SV_2cyuGuTWsEw84yG). <b>You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the [Gemini Code Assist IDE Extension](https://cloud.google.com/products/gemini/code-assist).</b> </details> [^1]: Review the [Privacy Notices](https://policies.google.com/privacy), [Generative AI Prohibited Use Policy](https://policies.google.com/terms/generative-ai/use-policy), [Terms of Service](https://policies.google.com/terms), and learn how to configure Gemini Code Assist in GitHub [here](https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github). Gemini can make mistakes, so double check it and [use code with caution](https://support.google.com/legal/answer/13505487).
gemini-code-assist[bot] (Migrated from github.com) reviewed 2025-12-27 13:12:24 +02:00
gemini-code-assist[bot] (Migrated from github.com) left a comment

Code Review

This pull request effectively removes the D1L companion example and its related code, simplifying the build environments for the SenseCAP Indicator D1L variant. The changes are clean and align with the goal of focusing on the repeater functionality.

However, I've identified a critical issue regarding the configuration of the repeater. The documentation is updated to suggest configuration via BLE, but the primary method for setting the admin password appears to be through a text-based serial console, which is disabled in the project's configuration. This could prevent users from securing their devices. My review includes a detailed comment on this issue in the README.md file.

## Code Review This pull request effectively removes the D1L companion example and its related code, simplifying the build environments for the SenseCAP Indicator D1L variant. The changes are clean and align with the goal of focusing on the repeater functionality. However, I've identified a critical issue regarding the configuration of the repeater. The documentation is updated to suggest configuration via BLE, but the primary method for setting the admin password appears to be through a text-based serial console, which is disabled in the project's configuration. This could prevent users from securing their devices. My review includes a detailed comment on this issue in the `README.md` file.
gemini-code-assist[bot] (Migrated from github.com) commented 2025-12-27 13:12:24 +02:00

critical

This section states that configuration is done via BLE. However, the repeater's admin password seems to be configurable only through a text-based serial console, which is disabled by the ARDUINO_USB_CDC_ON_BOOT=0 flag in platformio.ini. The BLE command interface (handleCmdFrame in MyMesh.cpp) does not appear to have a command for setting the password. This could leave the device in an unconfigurable state regarding the admin password.

Please either enable the USB serial console by default or add a BLE command to set the password. The 'Post-Flashing Configuration' section (lines 373-396) also needs to be updated to reflect the correct configuration method.

![critical](https://www.gstatic.com/codereviewagent/critical.svg) This section states that configuration is done via BLE. However, the repeater's admin password seems to be configurable only through a text-based serial console, which is disabled by the `ARDUINO_USB_CDC_ON_BOOT=0` flag in `platformio.ini`. The BLE command interface (`handleCmdFrame` in `MyMesh.cpp`) does not appear to have a command for setting the password. This could leave the device in an unconfigurable state regarding the admin password. Please either enable the USB serial console by default or add a BLE command to set the password. The 'Post-Flashing Configuration' section (lines 373-396) also needs to be updated to reflect the correct configuration method.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
ojars/MeshCore!45
No description provided.