diff --git a/neode-ui/src/utils/loraRegions.ts b/neode-ui/src/utils/loraRegions.ts index 07a86941..f9415388 100644 --- a/neode-ui/src/utils/loraRegions.ts +++ b/neode-ui/src/utils/loraRegions.ts @@ -100,3 +100,29 @@ export function meshcorePlanFor(code: string | null | undefined): MeshcorePlan | if (!code) return undefined return MESHCORE_PLANS[code.toUpperCase()] } + +/** A named MeshCore RF preset for the Device-panel dropdown. */ +export interface MeshcoreRfPreset { + id: string + label: string + freqMhz: number + bwKhz: number + sf: number + cr: number +} + +/** + * Prepopulated MeshCore RF plans by country/region for the Device panel's + * preset dropdown ("Custom" in the UI unlocks free entry). Values are only + * added here when verifiable: the MeshCore community plans above, the + * MeshCore firmware's own build defaults (platformio.ini `arduino_base`: + * 869.618/62.5/SF8, CR default 5; companion example: 915.0/250/SF10/CR5), + * and operator-attested deployment plans. + */ +export const MESHCORE_RF_PRESETS: MeshcoreRfPreset[] = [ + { id: 'eu_868', label: 'Europe / UK — 869.525 MHz, 250 kHz, SF11, CR4/5', freqMhz: 869.525, bwKhz: 250, sf: 11, cr: 5 }, + { id: 'pt', label: 'Portugal — 869.618 MHz, 62.5 kHz, SF8, CR4/8', freqMhz: 869.618, bwKhz: 62.5, sf: 8, cr: 8 }, + { id: 'fw_default', label: 'MeshCore firmware default — 869.618 MHz, 62.5 kHz, SF8, CR4/5', freqMhz: 869.618, bwKhz: 62.5, sf: 8, cr: 5 }, + { id: 'us_anz_915', label: 'US / Canada / ANZ — 915.0 MHz, 250 kHz, SF10, CR4/5', freqMhz: 915.0, bwKhz: 250, sf: 10, cr: 5 }, + { id: 'eu_433', label: 'Europe (433 MHz) — 433.65 MHz, 250 kHz, SF11, CR4/5', freqMhz: 433.65, bwKhz: 250, sf: 11, cr: 5 }, +] diff --git a/neode-ui/src/views/mesh/MeshDevicePanel.vue b/neode-ui/src/views/mesh/MeshDevicePanel.vue index 5364dedd..0a74a2d7 100644 --- a/neode-ui/src/views/mesh/MeshDevicePanel.vue +++ b/neode-ui/src/views/mesh/MeshDevicePanel.vue @@ -1,7 +1,7 @@