From 14686415635f16d67cbfc672f41defc05f240765 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Thu, 11 Jan 2024 17:14:07 +0100 Subject: [PATCH] CTLD - avoid UHT beacons between 243 and 320 mHz --- Moose Development/Moose/Ops/CTLD.lua | 2 +- Moose Development/Moose/Utilities/Utils.lua | 34 +++++++++++++++------ 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Moose Development/Moose/Ops/CTLD.lua b/Moose Development/Moose/Ops/CTLD.lua index 16d2e3ec8..7adcf3afb 100644 --- a/Moose Development/Moose/Ops/CTLD.lua +++ b/Moose Development/Moose/Ops/CTLD.lua @@ -1744,7 +1744,7 @@ end function CTLD:_GenerateUHFrequencies() self:T(self.lid .. " _GenerateUHFrequencies") self.FreeUHFFrequencies = {} - self.FreeUHFFrequencies = UTILS.GenerateUHFrequencies() + self.FreeUHFFrequencies = UTILS.GenerateUHFrequencies(243,320) return self end diff --git a/Moose Development/Moose/Utilities/Utils.lua b/Moose Development/Moose/Utilities/Utils.lua index 49739f2a6..c366cc249 100644 --- a/Moose Development/Moose/Utilities/Utils.lua +++ b/Moose Development/Moose/Utilities/Utils.lua @@ -2271,20 +2271,36 @@ function UTILS.GenerateVHFrequencies() return FreeVHFFrequencies end ---- Function to generate valid UHF Frequencies in mHz (AM). +--- Function to generate valid UHF Frequencies in mHz (AM). Can be between 220 and 399 mHz. 243 is auto-excluded. +-- @param Start (Optional) Avoid frequencies between Start and End in mHz, e.g. 244 +-- @param End (Optional) Avoid frequencies between Start and End in mHz, e.g. 320 -- @return #table UHF Frequencies -function UTILS.GenerateUHFrequencies() +function UTILS.GenerateUHFrequencies(Start,End) local FreeUHFFrequencies = {} local _start = 220000000 - - while _start < 399000000 do - if _start ~= 243000000 then - table.insert(FreeUHFFrequencies, _start) + + if not Start then + while _start < 399000000 do + if _start ~= 243000000 then + table.insert(FreeUHFFrequencies, _start) + end + _start = _start + 500000 + end + else + local End = End*1000000 or 399000000 + local Start = Start*1000000 or 220000000 + + while _start < 399000000 do + if _start ~= 243000000 and _start < Start and _start > End then + table.insert(FreeUHFFrequencies, _start) + end + _start = _start + 500000 + end + end - _start = _start + 500000 - end - + + return FreeUHFFrequencies end