diff --git a/IO.cpp b/IO.cpp index 8a76d4d..ea7b97b 100644 --- a/IO.cpp +++ b/IO.cpp @@ -323,6 +323,15 @@ uint8_t CIO::setFreq(uint32_t frequency_rx, uint32_t frequency_tx, uint8_t rf_po ((pocsag_freq_tx >= UHF2_MIN)&&(pocsag_freq_tx < UHF2_MAX)) ) ) return 4U; + // Check banned frequency ranges + if( ((frequency_rx >= BAN1_MIN)&&(frequency_rx <= BAN1_MAX)) || ((frequency_tx >= BAN1_MIN)&&(frequency_tx <= BAN1_MAX)) || \ + ((frequency_rx >= BAN2_MIN)&&(frequency_rx <= BAN2_MAX)) || ((frequency_tx >= BAN2_MIN)&&(frequency_tx <= BAN2_MAX)) ) + return 4U; + + if( ((pocsag_freq_tx >= BAN1_MIN)&&(pocsag_freq_tx <= BAN1_MAX)) || \ + ((pocsag_freq_tx >= BAN2_MIN)&&(pocsag_freq_tx <= BAN2_MAX)) ) + return 4U; + // Configure frequency m_frequency_rx = frequency_rx; m_frequency_tx = frequency_tx; diff --git a/IO.h b/IO.h index 5fe4081..0159184 100644 --- a/IO.h +++ b/IO.h @@ -28,6 +28,7 @@ #define LOW 0 #define HIGH 1 +// HS frequency ranges #define VHF1_MIN 144000000 #define VHF1_MAX 148000000 #define VHF2_MIN 219000000 @@ -37,6 +38,12 @@ #define UHF2_MIN 842000000 #define UHF2_MAX 950000000 +// Banned amateur frequency ranges (satellite only, ISS, etc) +#define BAN1_MIN 145800000 +#define BAN1_MAX 146000000 +#define BAN2_MIN 435000000 +#define BAN2_MAX 438000000 + #define SCAN_TIME 1920 #define SCAN_PAUSE 20000