diff --git a/Makefile b/Makefile index 86ae054..1af62c2 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # compile options (see README.md for descriptions) # 0 = disable # 1 = enable -# + ENABLE_CLANG := 0 ENABLE_SWD := 0 ENABLE_OVERLAY := 0 @@ -27,7 +27,7 @@ ENABLE_WIDE_RX := 1 ENABLE_1250HZ_STEP := 1 ENABLE_TX_WHEN_AM := 0 ENABLE_F_CAL_MENU := 0 -ENABLE_TX_EVERYWHERE := 0 +ENABLE_TX_UNLOCK := 0 ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 ENABLE_BOOT_BEEPS := 0 ENABLE_SHOW_CHARGE_LEVEL := 0 @@ -135,7 +135,7 @@ endif OBJS += app/generic.o OBJS += app/main.o OBJS += app/menu.o -OBJS += app/scanner.o +OBJS += app/search.o ifeq ($(ENABLE_PANADAPTER),1) OBJS += app/spectrum.o endif @@ -172,7 +172,7 @@ ifeq ($(ENABLE_PWRON_PASSWORD),1) endif OBJS += ui/main.o OBJS += ui/menu.o -OBJS += ui/scanner.o +OBJS += ui/search.o OBJS += ui/status.o OBJS += ui/ui.o OBJS += ui/welcome.o @@ -301,8 +301,8 @@ endif ifeq ($(ENABLE_F_CAL_MENU),1) CFLAGS += -DENABLE_F_CAL_MENU endif -ifeq ($(ENABLE_TX_EVERYWHERE),1) - CFLAGS += -DENABLE_TX_EVERYWHERE +ifeq ($(ENABLE_TX_UNLOCK),1) + CFLAGS += -DENABLE_TX_UNLOCK endif ifeq ($(ENABLE_CTCSS_TAIL_PHASE_SHIFT),1) CFLAGS += -DENABLE_CTCSS_TAIL_PHASE_SHIFT diff --git a/README.md b/README.md index 884130c..42703da 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ ENABLE_WIDE_RX := 1 full 18MHz to 1300MHz RX (though fron ENABLE_1250HZ_STEP := 1 enable smaller 1.25kHz frequency steps ENABLE_TX_WHEN_AM := 0 allow TX (always FM) when RX is set to AM ENABLE_F_CAL_MENU := 0 enable/disable the radios hidden frequency calibration menu -ENABLE_TX_EVERYWHERE := 0 '1' = allow TX everywhere EXCEPT airband (108~136) .. TX harmonic content will cause interference to other services, do so entirely at your own risk ! +ENABLE_TX_UNLOCK := 0 '1' = allow TX everywhere EXCEPT airband (108~136) .. TX harmonic content will cause interference to other services, do so entirely at your own risk ! ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 standard CTCSS tail phase shift rather than QS's own 55Hz tone method ENABLE_BOOT_BEEPS := 0 gives user audio feedback on volume knob position at boot-up ENABLE_SHOW_CHARGE_LEVEL := 0 show the charge level when the radio is on charge diff --git a/app/action.c b/app/action.c index d46fc58..e14750b 100644 --- a/app/action.c +++ b/app/action.c @@ -22,7 +22,7 @@ #ifdef ENABLE_FMRADIO #include "app/fm.h" #endif -#include "app/scanner.h" +#include "app/search.h" #include "audio.h" #include "bsp/dp32g030/gpio.h" #ifdef ENABLE_FMRADIO diff --git a/app/app.c b/app/app.c index d25a533..fe7da2d 100644 --- a/app/app.c +++ b/app/app.c @@ -29,7 +29,7 @@ #include "app/generic.h" #include "app/main.h" #include "app/menu.h" -#include "app/scanner.h" +#include "app/search.h" #include "app/uart.h" #include "ARMCM0.h" #include "audio.h" diff --git a/app/dtmf.c b/app/dtmf.c index c6e160e..bd1d91a 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -20,7 +20,7 @@ #ifdef ENABLE_FMRADIO #include "app/fm.h" #endif -#include "app/scanner.h" +#include "app/search.h" #include "bsp/dp32g030/gpio.h" #include "audio.h" #include "driver/bk4819.h" diff --git a/app/generic.c b/app/generic.c index c84e2be..d9bfe9e 100644 --- a/app/generic.c +++ b/app/generic.c @@ -22,7 +22,7 @@ #endif #include "app/generic.h" #include "app/menu.h" -#include "app/scanner.h" +#include "app/search.h" #include "audio.h" #include "driver/keyboard.h" #include "driver/uart.h" diff --git a/app/main.c b/app/main.c index 15f8f53..1337f81 100644 --- a/app/main.c +++ b/app/main.c @@ -23,7 +23,7 @@ #endif #include "app/generic.h" #include "app/main.h" -#include "app/scanner.h" +#include "app/search.h" #include "audio.h" #include "board.h" #include "driver/bk4819.h" diff --git a/app/menu.c b/app/menu.c index 0da7ce1..642e5ba 100644 --- a/app/menu.c +++ b/app/menu.c @@ -22,7 +22,7 @@ #include "app/dtmf.h" #include "app/generic.h" #include "app/menu.h" -#include "app/scanner.h" +#include "app/search.h" #include "audio.h" #include "board.h" #include "bsp/dp32g030/gpio.h" diff --git a/app/scanner.c b/app/search.c similarity index 99% rename from app/scanner.c rename to app/search.c index ab37572..79c436d 100644 --- a/app/scanner.c +++ b/app/search.c @@ -16,7 +16,7 @@ #include "app/dtmf.h" #include "app/generic.h" -#include "app/scanner.h" +#include "app/search.h" #include "audio.h" #include "board.h" #include "driver/bk4819.h" diff --git a/app/scanner.h b/app/search.h similarity index 100% rename from app/scanner.h rename to app/search.h diff --git a/board.c b/board.c index dcc17ae..bb8b39a 100644 --- a/board.c +++ b/board.c @@ -723,7 +723,11 @@ void BOARD_EEPROM_load(void) // 0F40..0F47 EEPROM_ReadBuffer(0x0F40, Data, 8); - g_setting_freq_lock = (Data[0] < 6) ? Data[0] : FREQ_LOCK_OFF; + #ifdef ENABLE_TX_UNLOCK + g_setting_freq_lock = (Data[0] < 7) ? Data[0] : FREQ_LOCK_NORMAL; + #else + g_setting_freq_lock = (Data[0] < 6) ? Data[0] : FREQ_LOCK_NORMAL; + #endif g_setting_350_tx_enable = (Data[1] < 2) ? Data[1] : false; // was true g_setting_killed = (Data[2] < 2) ? Data[2] : false; g_setting_200_tx_enable = (Data[3] < 2) ? Data[3] : false; diff --git a/firmware.bin b/firmware.bin index 1b84af9..7296aa0 100644 Binary files a/firmware.bin and b/firmware.bin differ diff --git a/firmware.packed.bin b/firmware.packed.bin index 4edf185..bb5ffee 100644 Binary files a/firmware.packed.bin and b/firmware.packed.bin differ diff --git a/frequencies.c b/frequencies.c index 5c20cb9..204b9f7 100644 --- a/frequencies.c +++ b/frequencies.c @@ -148,24 +148,20 @@ int TX_freq_check(const uint32_t Frequency) switch (g_setting_freq_lock) { - case FREQ_LOCK_OFF: - #ifdef ENABLE_TX_EVERYWHERE + case FREQ_LOCK_NORMAL: + if (Frequency >= 13600000 && Frequency < 17400000) return 0; - #else - if (Frequency >= 13600000 && Frequency < 17400000) + if (Frequency >= 17400000 && Frequency < 35000000) + if (g_setting_200_tx_enable) return 0; - if (Frequency >= 17400000 && Frequency < 35000000) - if (g_setting_200_tx_enable) - return 0; - if (Frequency >= 35000000 && Frequency < 40000000) - if (g_setting_350_tx_enable && g_setting_350_enable) - return 0; - if (Frequency >= 40000000 && Frequency < 47000000) + if (Frequency >= 35000000 && Frequency < 40000000) + if (g_setting_350_tx_enable && g_setting_350_enable) + return 0; + if (Frequency >= 40000000 && Frequency < 47000000) + return 0; + if (Frequency >= 47000000 && Frequency <= 60000000) + if (g_setting_500_tx_enable) return 0; - if (Frequency >= 47000000 && Frequency <= 60000000) - if (g_setting_500_tx_enable) - return 0; - #endif break; case FREQ_LOCK_FCC: @@ -202,6 +198,11 @@ int TX_freq_check(const uint32_t Frequency) if (Frequency >= 40000000 && Frequency < 43800000) return 0; break; + + #ifdef ENABLE_TX_UNLOCK + case FREQ_LOCK_TX_UNLOCK: + return 0; + #endif } // dis-allowed TX frequency diff --git a/scheduler.c b/scheduler.c index eec4a78..1d08e40 100644 --- a/scheduler.c +++ b/scheduler.c @@ -17,7 +17,7 @@ #ifdef ENABLE_FMRADIO #include "app/fm.h" #endif -#include "app/scanner.h" +#include "app/search.h" #include "audio.h" #include "functions.h" #include "helper/battery.h" diff --git a/settings.h b/settings.h index c99af44..97de811 100644 --- a/settings.h +++ b/settings.h @@ -32,12 +32,15 @@ enum pwr_on_display_mode_e { typedef enum pwr_on_display_mode_e pwr_on_display_mode_t; enum { - FREQ_LOCK_OFF = 0, + FREQ_LOCK_NORMAL = 0, FREQ_LOCK_FCC, FREQ_LOCK_CE, FREQ_LOCK_GB, FREQ_LOCK_430, - FREQ_LOCK_438 + FREQ_LOCK_438, +#ifdef ENABLE_TX_UNLOCK + FREQ_LOCK_TX_UNLOCK +#endif }; enum { diff --git a/ui/menu.c b/ui/menu.c index bfb4160..ef3ec8a 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -281,15 +281,28 @@ const char g_sub_menu_RESET[2][4] = "ALL" }; -const char g_sub_menu_freq_lock[6][8] = -{ - "OFF", - "FCC", - "CE", - "GB", - "430 MHz", - "438 MHz" -}; +#ifdef ENABLE_TX_UNLOCK + const char g_sub_menu_freq_lock[7][9] = + { + "NORMAL", + "FCC", + "CE", + "GB", + "430 MHz", + "438 MHz", + "UNLOCKED" + }; +#else + const char g_sub_menu_freq_lock[6][8] = + { + "NORMAL", + "FCC", + "CE", + "GB", + "430 MHz", + "438 MHz" + }; +#endif const char g_sub_menu_backlight[8][7] = { @@ -1015,14 +1028,7 @@ void UI_DisplayMenu(void) break; case MENU_FREQ_LOCK: - #ifdef ENABLE_TX_EVERYWHERE - if (g_sub_menu_selection == FREQ_LOCK_OFF) - strcpy(String, " WARNING!\nTX\nUNLOCKED"); - else - strcpy(String, g_sub_menu_freq_lock[g_sub_menu_selection]); - #else - strcpy(String, g_sub_menu_freq_lock[g_sub_menu_selection]); - #endif + strcpy(String, g_sub_menu_freq_lock[g_sub_menu_selection]); break; #ifdef ENABLE_F_CAL_MENU diff --git a/ui/menu.h b/ui/menu.h index eda20c3..1b5bd8c 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -165,7 +165,11 @@ extern const char g_sub_menu_PTT_ID[5][15]; extern const char g_sub_menu_pwr_on_msg[4][14]; extern const char g_sub_menu_roger_mode[3][16]; extern const char g_sub_menu_RESET[2][4]; -extern const char g_sub_menu_freq_lock[6][8]; +#ifdef ENABLE_TX_UNLOCK + extern const char g_sub_menu_freq_lock[7][9]; +#else + extern const char g_sub_menu_freq_lock[6][8]; +#endif extern const char g_sub_menu_backlight[8][7]; extern const char g_sub_menu_rx_tx[4][6]; #ifdef ENABLE_AM_FIX_TEST1 diff --git a/ui/scanner.c b/ui/search.c similarity index 98% rename from ui/scanner.c rename to ui/search.c index cc045a3..9307136 100644 --- a/ui/scanner.c +++ b/ui/search.c @@ -17,7 +17,7 @@ #include #include -#include "app/scanner.h" +#include "app/search.h" #include "board.h" #include "dcs.h" #include "driver/st7565.h" @@ -26,7 +26,7 @@ #include "misc.h" #include "radio.h" #include "ui/helper.h" -#include "ui/scanner.h" +#include "ui/search.h" #include "ui/ui.h" void UI_DisplaySearch(void) diff --git a/ui/scanner.h b/ui/search.h similarity index 94% rename from ui/scanner.h rename to ui/search.h index 9eefa4e..7c42075 100644 --- a/ui/scanner.h +++ b/ui/search.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef UI_SCANNER_H -#define UI_SCANNER_H +#ifndef UI_SEARCH_H +#define UI_SEARCH_H void UI_DisplaySearch(void); diff --git a/ui/status.c b/ui/status.c index d6e2090..0b1cecf 100644 --- a/ui/status.c +++ b/ui/status.c @@ -16,7 +16,7 @@ #include -#include "app/scanner.h" +#include "app/search.h" #ifdef ENABLE_FMRADIO #include "app/fm.h" #endif diff --git a/ui/ui.c b/ui/ui.c index d889e35..f5f7d69 100644 --- a/ui/ui.c +++ b/ui/ui.c @@ -20,7 +20,7 @@ #ifdef ENABLE_FMRADIO #include "app/fm.h" #endif -#include "app/scanner.h" +#include "app/search.h" #include "driver/keyboard.h" #include "misc.h" #ifdef ENABLE_AIRCOPY @@ -32,7 +32,7 @@ #include "ui/inputbox.h" #include "ui/main.h" #include "ui/menu.h" -#include "ui/scanner.h" +#include "ui/search.h" #include "ui/ui.h" gui_display_type_t g_screen_to_display;