Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: krinkle
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
5 changes: 1 addition & 4 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
labels: bug
assignees: ''

---
Expand All @@ -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.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -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.
59 changes: 58 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Hunterlog
# Hunterlog++

> **Note:** This is an enhanced fork of the original [Hunterlog by N9FZ](https://github.com/cwhelchel/hunterlog) with additional features and improvements.

[![GitHub Release](https://img.shields.io/badge/download-windows-green)](https://github.com/cwhelchel/hunterlog/releases/download/v0.0.9/hunterlog_0.0.9.zip)
[![GitHub Release](https://img.shields.io/badge/download-linux-green)](https://github.com/cwhelchel/hunterlog/releases/download/v0.0.9/hunterlog-ubuntu_0.0.9-hotfix.zip)
[![GitHub Release](https://img.shields.io/badge/download-mac-green)](https://github.com/cwhelchel/hunterlog/releases/download/v0.0.6/hunterlog-macos_0.0.6.zip)
Expand Down Expand Up @@ -26,6 +29,16 @@ CAT control, and log them to your master logger. It will also keep track of the
* Use CAT control to immediately jump to a spot
* supports: FLRIG, RIGCTLD, and N3FJP's CAT API (more possible)

## Hunterlog++ Enhancements

This fork includes the following additional features:

* **Automatic Scanning** - Automatically cycle through filtered POTA/SOTA spots
* Configurable wait time per station
* Smart PTT detection to pause scanning when transmitting
* Visual indicators for currently scanned station
* See [Scanning Feature](#scanning-feature) for detailed usage instructions

## Community

If you're not comfortable using Github to submit issues and enhancement requests, feel free to join our Discord community server. Hop in and ask questions, share comments, propose new features or get help using Hunterlog.
Expand Down Expand Up @@ -138,6 +151,50 @@ Click a spot to load the QSO info into the top portion of the screen. Click gree
*It also will store a copy locally in hunter.adi as well as in the database.* This
is for your convenience and I'd hate for anyone to lose a QSO.

## Scanning Feature

The Scanning feature allows you to automatically cycle through filtered POTA/SOTA spots, tuning your radio to each station for a configurable amount of time. This is useful for monitoring multiple activations or hunting for new parks.

### How to Use Scanning

1. **Filter Your Spots** - Use the filter bar to narrow down the spots you want to scan (e.g., specific mode, band, or region)
2. **Configure Scan Settings** (Optional)
- Click **CONFIGURATION**
- Go to the **Scanning** tab
- Set **Scan Wait Time** (default: 5 seconds) - how long to stay on each station
- Click **Save**
3. **Start Scanning**
- Click the **Scan** button in the spot viewer toolbar
- The button will change to **Stop Scanning** with a different color
- Your radio will automatically tune to each filtered station

### Scanning Behavior

- **Visual Indicators**: As scanning progresses:
- The selected row will be highlighted
- The frequency button will change from green to yellow for the current station
- The top info panel will update with park/activator details

- **Automatic Stop Conditions**:
- Pressing your PTT (Push-To-Talk) will immediately stop scanning
- Clicking **Stop Scanning** button
- If filters reduce the list to 1 or 0 stations

- **Requirements**:
- At least 2 filtered spots must be visible
- The Scan button will be disabled if there are 0 or 1 spots

- **Scanning Cycle**: The scanner will continuously loop through all filtered spots until stopped

> [!TIP]
> Use filters effectively to scan only the spots you're interested in. For example:
> - Filter by SSB mode to scan only phone activations
> - Filter by 20m band to scan a specific band
> - Filter by region to scan only US or specific states

> [!NOTE]
> The PTT check runs every 250ms, so scanning will stop almost immediately when you press PTT to make a contact.

## Spotting

You can spot/re-spot POTA activators through Hunterlog. When this is done the
Expand Down
58 changes: 17 additions & 41 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/@types/Config.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export interface UserConfig {
rig_if_type: string,
include_rst: boolean,
enabled_progs: string
scan_wait_time: number,
}

export interface ConfigVer2 {
Expand Down
15 changes: 15 additions & 0 deletions src/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,21 @@ 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.")

try:
ptt = self.cat.get_ptt()
except NotImplementedError as nie:
logging.error(
'get_ptt not available for this CAT mode',
exc_info=nie)
return self._response(False, '', not_implemented=True)

return self._response(True, "", ptt=ptt)

def export_park_data(self) -> str:
'''
Dumps the entire parks table into a file named 'park_export.json'.
Expand Down
3 changes: 3 additions & 0 deletions src/cat/aclog_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,6 @@ def set_vfo(self, freq: str) -> bool:
return False

return False

def get_ptt(self) -> bool:
raise NotImplementedError
Loading