From ed7d6d06065ba4eebd73b8e8ef7d1240c8900ef3 Mon Sep 17 00:00:00 2001 From: krinkle Date: Sun, 9 Nov 2025 09:55:14 -0500 Subject: [PATCH 01/10] Update issue templates Add label for bug report. Add Feature request template --- .github/ISSUE_TEMPLATE/bug_report.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index be27da7..cdc4b91 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -2,7 +2,7 @@ name: Bug report about: Create a report to help us improve title: '' -labels: '' +labels: bug assignees: '' --- @@ -28,8 +28,5 @@ If applicable, add screenshots to help explain your problem. - Hunterlog application version: [e.g. 0.0.1L] - Hunterlog database version: [e.g. db: 922a7b854b71] -*The hunterlog version info is at the bottom of the application screen. Scroll down all the way to see it.* - - **Additional context** Add any other context about the problem here. From a11c0bbfafdc76625f90d0335338a8013812e6c6 Mon Sep 17 00:00:00 2001 From: krinkle Date: Sun, 9 Nov 2025 09:56:40 -0500 Subject: [PATCH 02/10] Update issue templates --- .github/ISSUE_TEMPLATE/feature_request.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..11fc491 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. From 17c25a9bd45902ff36bf86554bc53e94ff4e81fc Mon Sep 17 00:00:00 2001 From: jgoddardii Date: Tue, 2 Dec 2025 09:43:25 -0600 Subject: [PATCH 03/10] Added Scan functionality. --- src/@types/Config.d.ts | 1 + src/api.py | 8 ++ .../Config/ConfigContextProvider.tsx | 8 +- src/components/Config/ConfigModal.tsx | 9 +- src/components/Config/ScanningSettingsTab.tsx | 28 +++++ src/components/SpotViewer/ScanButton.tsx | 113 ++++++++++++++++++ src/components/SpotViewer/SpotViewer.tsx | 2 + 7 files changed, 165 insertions(+), 4 deletions(-) create mode 100644 src/components/Config/ScanningSettingsTab.tsx create mode 100644 src/components/SpotViewer/ScanButton.tsx diff --git a/src/@types/Config.d.ts b/src/@types/Config.d.ts index e33435a..1da0ec5 100644 --- a/src/@types/Config.d.ts +++ b/src/@types/Config.d.ts @@ -14,6 +14,7 @@ export interface UserConfig { ftx_mode: string, qth_string: string, rig_if_type: string, + scan_wait_time: number, } export interface ConfigVer2 { diff --git a/src/api.py b/src/api.py index b156c40..0ae980e 100644 --- a/src/api.py +++ b/src/api.py @@ -564,6 +564,14 @@ def qsy_to(self, freq, mode: str): return self._response(True, "") + def get_ptt(self): + '''Returns the PTT state from CAT control''' + if self.cat is None: + return self._response(False, "CAT control failure.") + + ptt = self.cat.get_ptt() + return self._response(True, "", ptt=ptt) + def update_park_hunts_from_csv(self) -> str: ''' Will use the current pota stats from hunter.csv to update the db with diff --git a/src/components/Config/ConfigContextProvider.tsx b/src/components/Config/ConfigContextProvider.tsx index 6d62580..f993af0 100644 --- a/src/components/Config/ConfigContextProvider.tsx +++ b/src/components/Config/ConfigContextProvider.tsx @@ -16,7 +16,8 @@ const defData: UserConfig = { cw_mode: '', ftx_mode: '', qth_string: '', - rig_if_type: '' + rig_if_type: '', + scan_wait_time: 5 }; export interface ConfigContextType { @@ -26,7 +27,7 @@ export interface ConfigContextType { export const ConfigContext = React.createContext(null); -export const ConfigContextProvider = ( {children}: any ) => { +export const ConfigContextProvider = ({ children }: any) => { const [configData, setConfigData] = React.useState(defData); const x = (ctx: UserConfig) => { @@ -45,7 +46,8 @@ export const ConfigContextProvider = ( {children}: any ) => { cw_mode: ctx.cw_mode, ftx_mode: ctx.ftx_mode, qth_string: ctx.qth_string, - rig_if_type: ctx.rig_if_type + rig_if_type: ctx.rig_if_type, + scan_wait_time: ctx.scan_wait_time }; setConfigData(newContext); }; diff --git a/src/components/Config/ConfigModal.tsx b/src/components/Config/ConfigModal.tsx index 6341c51..fe1d8e1 100644 --- a/src/components/Config/ConfigModal.tsx +++ b/src/components/Config/ConfigModal.tsx @@ -12,6 +12,7 @@ import { useConfigContext } from './ConfigContextProvider' import GeneralSettingsTab from './GeneralSettingsTab'; import LoggerSettingsTab from './LoggerSettingsTab'; import RadioSettingsTab from './RadioSettingsTab'; +import ScanningSettingsTab from './ScanningSettingsTab'; import { setErrorMsg } from '../../util'; import { useAppContext } from '../AppContext'; @@ -107,6 +108,7 @@ export default function ConfigModal() { config.qth_string = getVar(cfg2, 'qth_string'); config.rig_if_type = getVar(cfg2, 'rig_if_type'); config.logger_type = Number(getVar(cfg2, "logger_type")); + config.scan_wait_time = Number(getVar(cfg2, "scan_wait_time")); setConfig(config); } @@ -123,6 +125,7 @@ export default function ConfigModal() { setVar(config2, "ftx_mode", config.ftx_mode); setVar(config2, "qth_string", config.qth_string); setVar(config2, "rig_if_type", config.rig_if_type); + setVar(config2, "scan_wait_time", config.scan_wait_time.toString()); setConfig2(config2); } @@ -165,7 +168,8 @@ export default function ConfigModal() { > - + + @@ -177,6 +181,9 @@ export default function ConfigModal() { + + +