Skip to content

Nz region sf16 preset#11009

Open
NomDeTom wants to merge 12 commits into
meshtastic:developfrom
NomDeTom:nz-region-sf16-preset
Open

Nz region sf16 preset#11009
NomDeTom wants to merge 12 commits into
meshtastic:developfrom
NomDeTom:nz-region-sf16-preset

Conversation

@NomDeTom

@NomDeTom NomDeTom commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Adds a new region to allow the ShortFast preset to be the default in New Zealand from the start, rather than LongFast as is the default for the ANZ region.

Requires protobufs: meshtastic/protobufs#985

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)

Summary by CodeRabbit

  • New Features

    • Added support for the New Zealand 915 MHz LoRa regulatory region, covering the 915–928 MHz frequency band.
    • The LoRa region picker and related menu now include “NZ 915”.
  • Improvements

    • Updated the radio region configuration to use the latest regional definitions and default preset behavior.

claude and others added 8 commits July 14, 2026 02:41
New Zealand's mesh standard is ShortFast on frequency slot 16, which
lands on 918.875 MHz in the 915-928 MHz ANZ band. Set the region's
default preset to SHORT_FAST and pin the default frequency slot with an
explicit overrideSlot of 16 instead of the channel-name hash.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ToW4ouBGLnJEo6wQDobdJc
Revert the ANZ region-table change: ANZ is shared with Australia (and
historically Brazil), so changing its default preset there would alter
defaults for everyone, not just New Zealand.

Instead, bake the NZ community defaults into firmware built from this
repo via userPrefs.jsonc: region ANZ and modem preset SHORT_FAST. No
frequency-slot override is needed - the default channel name
("ShortFast") hashes to slot 16, which is 918.875 MHz, the NZ mesh
standard.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ToW4ouBGLnJEo6wQDobdJc
Co-authored-by: NomDeTom <116762865+NomDeTom@users.noreply.github.com>
.gitmodules now tracks NomDeTom/MeshtasticProtobufs @ nz-sf, rebased
onto upstream meshtastic/protobufs master (adds NZ_924 as a new
RegionCode value, additive/non-breaking). Regenerated the nanopb C
sources from that commit, which also incidentally picks up the
MEDIUM_TURBO modem preset added upstream in the same rebase window.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ToW4ouBGLnJEo6wQDobdJc
Same 915-928 MHz band and PROFILE_STD as ANZ, but defaults to
SHORT_FAST instead of LONG_FAST. Frequency slot is left on the default
channel-name hash (overrideSlot 0), which for the "ShortFast" channel
name lands on slot 16 = 918.875 MHz, the New Zealand mesh standard.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ToW4ouBGLnJEo6wQDobdJc
@NomDeTom NomDeTom added enhancement New feature or request requires-protos Requires changes to protobufs to work labels Jul 14, 2026
@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

⚡ Try this PR in the Web Flasher

Flash this PR in the Web Flasher

firmware commit boards expires

Warning

This is an automated, unreviewed CI test build. Back up your device configuration
before flashing, and only flash devices you are able to recover.

Supported boards built by this PR (27)
Device Board Platform
Crowpanel Adv 3.5 TFT elecrow-adv-35-tft esp32-s3
Heltec HT62 heltec-ht62-esp32c3-sx1262 esp32-c3
Heltec Mesh Node 096 heltec-mesh-node-t096 nrf52840
Heltec Mesh Node T1 heltec-mesh-node-t1 nrf52840
Heltec Mesh Node T114 heltec-mesh-node-t114 nrf52840
Heltec V3 heltec-v3 esp32-s3
Heltec V4 heltec-v4 esp32-s3
Meshnology W10 meshnology_w10 esp32-s3
Raspberry Pi Pico pico rp2040
Raspberry Pi Pico W picow rp2040
RAK WisMesh Tag rak_wismeshtag nrf52840
RAK WisBlock 11200 rak11200 esp32
RAK WisBlock 11310 rak11310 rp2040
RAK3312 rak3312 esp32-s3
RAK WisBlock 4631 rak4631 nrf52840
Seeed SenseCAP Mesh-Tracker-X1 seeed_mesh_tracker_X1 nrf52840
Seeed Wio Tracker L1 seeed_wio_tracker_L1 nrf52840
Seeed Xiao NRF52840 Kit seeed_xiao_nrf52840_kit nrf52840
Seeed Xiao ESP32-S3 seeed-xiao-s3 esp32-s3
Station G2 station-g2 esp32-s3
Station G3 station-g3 esp32-s3
LILYGO T-Deck t-deck-tft esp32-s3
LILYGO T-Echo t-echo nrf52840
LILYGO T-Echo Plus t-echo-plus nrf52840
LILYGO T-Impulse Plus t-impulse-plus nrf52840
LilyGo T3-C6 tlora-c6 esp32-c6
Seeed SenseCAP T1000-E tracker-t1000-e nrf52840

Build artifacts expire on 2026-08-13. Updated for feaff8c.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1c20e456-c803-4fb9-bb23-06d2de9f3e28

📥 Commits

Reviewing files that changed from the base of the PR and between e7ba9e9 and feaff8c.

⛔ Files ignored due to path filters (3)
  • src/mesh/generated/meshtastic/config.pb.h is excluded by !**/generated/**, !src/mesh/generated/**
  • src/mesh/generated/meshtastic/interdevice.pb.cpp is excluded by !**/generated/**, !src/mesh/generated/**
  • src/mesh/generated/meshtastic/interdevice.pb.h is excluded by !**/generated/**, !src/mesh/generated/**
📒 Files selected for processing (4)
  • protobufs
  • src/graphics/draw/MenuHandler.cpp
  • src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h
  • src/graphics/niche/InkHUD/Applets/System/Menu/MenuApplet.cpp
🚧 Files skipped from review as they are similar to previous changes (1)
  • protobufs

📝 Walkthrough

Walkthrough

The protobufs source and pinned commit are updated. The radio region table adds NZ_915 for 915.0–928.0 MHz, and both region menu paths expose selection of the new region.

Changes

New Zealand regional support

Layer / File(s) Summary
Update protobufs source
.gitmodules, protobufs
The protobufs submodule URL, branch, and pinned commit are updated.
Add NZ_915 radio region
src/mesh/RadioInterface.cpp
The regulatory region table adds NZ_915 for 915.0–928.0 MHz with PROFILE_STD, PRESET(SHORT_FAST), and override slot 0.
Wire NZ_915 menu selection
src/graphics/draw/MenuHandler.cpp, src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h, src/graphics/niche/InkHUD/Applets/System/Menu/MenuApplet.cpp
The LoRa region picker and InkHUD region menu add NZ_915 entries, and the corresponding action applies the NZ_915 configuration.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: harukitoreda, caveman99

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and refers to the new NZ region/preset change, which matches the main purpose of the PR.
Description check ✅ Passed The description states the NZ region preset change and protobuf dependency, and includes the attestations section from the template.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ 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.

@coderabbitai coderabbitai Bot mentioned this pull request Jul 15, 2026
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request requires-protos Requires changes to protobufs to work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants