#ifndef APP_CHFRSCANNER_H #define APP_CHFRSCANNER_H #include #include #include "radio.h" // scan direction, if not equal SCAN_OFF indicates // that we are in a process of scanning channels/frequencies extern int8_t gScanStateDir; extern bool gScanKeepResult; extern bool gScanPauseMode; #ifdef ENABLE_SCAN_RANGES extern uint32_t gScanRangeStart; extern uint32_t gScanRangeStop; #if defined(ENABLE_FEAT_F4HWN_SCAN_SUBAUDIBLE) && ENABLE_FEAT_F4HWN_SCAN_SUBAUDIBLE extern DCS_CodeType_t gScanRangeCssType; extern uint8_t gScanRangeCssCode; #endif bool CHFRSCANNER_ExcludeCurrentScanRange(void); bool CHFRSCANNER_HasScanRangeExcludedOrdinal(uint32_t first_ordinal, uint32_t last_ordinal); #if defined(ENABLE_FEAT_F4HWN_SCAN_SUBAUDIBLE) && ENABLE_FEAT_F4HWN_SCAN_SUBAUDIBLE void CHFRSCANNER_UpdateCssDetection(void); #endif #endif void CHFRSCANNER_Found(void); void CHFRSCANNER_Stop(void); void CHFRSCANNER_Start(const bool storeBackupSettings, const int8_t scan_direction); void CHFRSCANNER_ManualResume(const int8_t scan_direction); void CHFRSCANNER_ContinueScanning(void); #ifdef ENABLE_FEAT_F4HWN_SCAN_FASTER const VFO_Info_t *CHFRSCANNER_GetScanDisplayVfo(void); #ifdef ENABLE_FEAT_F4HWN_SCAN_RSSI bool CHFRSCANNER_HasScanRssiSparkline(void); uint8_t CHFRSCANNER_GetScanRssiSparklineLevel(uint8_t index); #define CHFRSCANNER_RSSI_SPARKLINE_WIDTH 24u #endif #endif #if defined(ENABLE_FEAT_F4HWN_RESUME_STATE) || defined(ENABLE_SCAN_RANGES) void CHFRSCANNER_ScanRange(void); #endif #ifdef ENABLE_FEAT_F4HWN extern uint32_t lastFoundFrqOrChan; extern uint32_t lastFoundFrqOrChanOld; #endif #endif