Skip to content

Conversation

@caveman99
Copy link
Member

We might wanna consider switching telemetry and maybe even position off for this band to operate with the reduced duty cycle.

@caveman99
Copy link
Member Author

this requires a) meshtastic/protobufs#814 and b) further discussion

@caveman99 caveman99 requested review from GUVWAF and Copilot and removed request for GUVWAF November 19, 2025 12:23
Copilot finished reviewing on behalf of caveman99 November 19, 2025 12:25
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for the EU 866MHz RFID band (EU_866 region) with adaptive duty cycle enforcement based on device role. The implementation introduces a 2.5% duty cycle for mobile devices and 10% for fixed router devices, following ETSI EN 302 208 specifications.

Key changes:

  • New EU_866 region definition with 4 channels at 865.7/866.3/866.9/867.5 MHz
  • Adaptive duty cycle function that adjusts based on device role (router vs mobile)
  • Enforcement of 125kHz bandwidth requirement with fallback to LiteFast preset
  • Updated channel calculation logic to properly handle the 475kHz channel spacing

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/mesh/RadioInterface.cpp Adds EU_866 region definition, implements getEffectiveDutyCycle() function, adds LITE_FAST preset support, enforces bandwidth restrictions, and improves channel calculation logic
src/mesh/MeshRadio.h Declares getEffectiveDutyCycle() function with documentation
src/modules/AdminModule.cpp Replaces direct dutyCycle access with getEffectiveDutyCycle() call
src/mesh/Router.cpp Updates duty cycle enforcement to use getEffectiveDutyCycle()
src/graphics/draw/MenuHandler.cpp Updates duty cycle check to use getEffectiveDutyCycle()
src/airtime.cpp Updates airtime utilization checks to use getEffectiveDutyCycle()
src/DisplayFormatters.cpp Adds display name support for LITE_FAST modem preset

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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