Add 70cm amateur radio region support (#10627)

This commit is contained in:
Austin
2026-07-03 10:00:14 +02:00
committed by GitHub
co-authored by GitHub
parent 3778fb021c
commit 397ff8523a
4 changed files with 45 additions and 0 deletions
+3
View File
@@ -258,6 +258,9 @@ void menuHandler::LoraRegionPicker(uint32_t duration)
{"ITU2_2M (144-148)", OptionsAction::Select, meshtastic_Config_LoRaConfig_RegionCode_ITU2_2M},
{"ITU3_2M (144-148)", OptionsAction::Select, meshtastic_Config_LoRaConfig_RegionCode_ITU3_2M},
{"ITU2_125CM (220-225)", OptionsAction::Select, meshtastic_Config_LoRaConfig_RegionCode_ITU2_125CM},
{"ITU1_70CM (430-440)", OptionsAction::Select, meshtastic_Config_LoRaConfig_RegionCode_ITU1_70CM},
{"ITU2_70CM (420-450)", OptionsAction::Select, meshtastic_Config_LoRaConfig_RegionCode_ITU2_70CM},
{"ITU3_70CM (430-450)", OptionsAction::Select, meshtastic_Config_LoRaConfig_RegionCode_ITU3_70CM},
};
@@ -75,6 +75,9 @@ enum MenuAction {
SET_REGION_ITU2_2M,
SET_REGION_ITU3_2M,
SET_REGION_ITU2_125CM,
SET_REGION_ITU1_70CM,
SET_REGION_ITU2_70CM,
SET_REGION_ITU3_70CM,
// Device Roles
SET_ROLE_CLIENT,
SET_ROLE_CLIENT_MUTE,
@@ -907,6 +907,18 @@ void InkHUD::MenuApplet::execute(MenuItem item)
applyLoRaRegion(meshtastic_Config_LoRaConfig_RegionCode_ITU2_125CM);
break;
case SET_REGION_ITU1_70CM:
applyLoRaRegion(meshtastic_Config_LoRaConfig_RegionCode_ITU1_70CM);
break;
case SET_REGION_ITU2_70CM:
applyLoRaRegion(meshtastic_Config_LoRaConfig_RegionCode_ITU2_70CM);
break;
case SET_REGION_ITU3_70CM:
applyLoRaRegion(meshtastic_Config_LoRaConfig_RegionCode_ITU3_70CM);
break;
// Roles
case SET_ROLE_CLIENT:
applyDeviceRole(meshtastic_Config_DeviceConfig_Role_CLIENT);
+27
View File
@@ -283,6 +283,33 @@ const RegionInfo regions[] = {
*/
RDEF(ITU2_125CM, 220.0f, 225.0f, 100, 30, false, false, PROFILE_HAM_100KHZ, PRESET(NARROW_SLOW), 37),
/*
ITU Region 1 (Europe, Africa, Middle East, former USSR) amateur 70cm allocation: 430.000 - 440.000 MHz.
Power limit is the regulatory ceiling (1 W / 30 dBm) — individual hardware will cap below this
via its own PA curve; the field here is just the legal upper bound.
Default slot: 37 (433.650 MHz)
*/
RDEF(ITU1_70CM, 430.0f, 440.0f, 100, 30, false, false, PROFILE_HAM_100KHZ, PRESET(NARROW_SLOW), 37),
/*
ITU Region 2 (Americas) amateur 70cm allocation: 420.000 - 450.000 MHz.
Typical admin rules (e.g. US FCC Part 97) allow well above 30 dBm for licensed operators.
Note: Some countries do not allocate 420-430 MHz or 440-450 MHz. Check local law!
Default slot: 137 (433.650 MHz)
*/
RDEF(ITU2_70CM, 420.0f, 450.0f, 100, 30, false, false, PROFILE_HAM_100KHZ, PRESET(NARROW_SLOW), 137),
/*
ITU Region 3 (Asia/Pacific) amateur 70cm allocation: 430.000 - 450.000 MHz.
Typical admin rules allow well above 30 dBm for licensed operators.
Note: Some countries do not allocate 440-450 MHz. Check local law!
Default slot: 37 (433.650 MHz)
*/
RDEF(ITU3_70CM, 430.0f, 450.0f, 100, 30, false, false, PROFILE_HAM_100KHZ, PRESET(NARROW_SLOW), 37),
/*
2.4 GHZ WLAN Band equivalent. Only for SX128x chips.
*/