Report preparation
What happened?
🐞 Bug: Incorrect hardcoded panadapter bandwidth limits in RadioModel restrict valid zoom range
What happened
Panadapter zoom limits in AetherSDR are incorrectly constrained due to hardcoded values in RadioModel.
Specifically:
minPanBandwidthMhz() is hardcoded to 0.010 MHz (10 kHz) for all models
maxPanBandwidthMhz() uses simplified model-based limits that do not match actual hardware capabilities
- Maximum bandwidth is arbitrarily limited to values such as 7 MHz and 14 MHz, which do not reflect actual radio bandwidth limit values observed on other client software packages.
double maxPanBandwidthMhz() const {
if (m_model.contains("6700") || m_model.contains("8600"))
return 14.0;
if (m_model.contains("8400"))
return 7.0;
if (m_model.contains("6500"))
return 7.2;
return 5.4;
}
double minPanBandwidthMhz() const { return 0.010; } // 10 kHz — all models
These values do not reflect real FlexRadio limits.
Impact
- Minimum zoom is artificially limited (~10 kHz), preventing access to narrower bandwidths
- Maximum zoom is arbitrarily capped (e.g., 7 MHz / 14 MHz), preventing access to full hardware-supported range (e.g., ~14.745601 MHz)
- Results in inconsistent and inaccurate panadapter behavior across different radio models
What I expected
Panadapter zoom limits should match the actual hardware-defined bandwidth limits for each radio model.
Correct values (examples):
- FLEX-6500: 0.004920 MHz → 14.745601 MHz
- FLEX-8600: 0.001230 MHz → 14.745601 MHz
These actual limits were observed in TCP packet captures taken when using the official SmartSDR software.
Note: I do not have access to other radio models to verify their exact limits, but they should follow their respective hardware specifications rather than fixed assumptions.
Steps to reproduce
- Connect to a FLEX-6500 or FLEX-8600
- Open a panadapter
- Attempt to:
- Zoom in to minimum bandwidth
- Zoom out to maximum bandwidth
- Observe:
- Minimum is clamped to ~10 kHz (too high)
- Maximum is capped below the true hardware limit
Environment
- OS: Linux
- Client: AetherSDR (Qt6/C++20)
- Radios tested:
Suggested fix
- Replace hardcoded limits in
RadioModel with accurate per-model values
- Remove arbitrary caps (e.g., 7 MHz / 14 MHz) and use real hardware limits
- Update:
minPanBandwidthMhz() → model-specific minimums
maxPanBandwidthMhz() → correct maximums (e.g., 14.745601 MHz where applicable)
- Avoid substring matching (
contains) for model detection if possible—use a structured model identifier
Better approaches (preferred order)
- Query limits from radio via FlexLib (if available)
- Maintain a precise per-model lookup table
- As fallback, correct existing constants
Suggested labels
- bug
- spectrum
- GUI
- protocol
Additional notes
The current implementation appears to rely on approximate or legacy assumptions:
- A uniform minimum (10 kHz) is applied to all models
- Maximum limits are simplified and arbitrarily capped (e.g., 7 MHz / 14 MHz)
- These values do not align with actual hardware capabilities
Given that Flex radios expose precise capabilities, this logic should ideally be data-driven rather than hardcoded.
What did you expect?
No response
Steps to reproduce
No response
Radio model & firmware
No response
Linux distro & Qt version
No response
Report preparation
What happened?
🐞 Bug: Incorrect hardcoded panadapter bandwidth limits in RadioModel restrict valid zoom range
What happened
Panadapter zoom limits in AetherSDR are incorrectly constrained due to hardcoded values in
RadioModel.Specifically:
minPanBandwidthMhz()is hardcoded to 0.010 MHz (10 kHz) for all modelsmaxPanBandwidthMhz()uses simplified model-based limits that do not match actual hardware capabilitiesThese values do not reflect real FlexRadio limits.
Impact
What I expected
Panadapter zoom limits should match the actual hardware-defined bandwidth limits for each radio model.
Correct values (examples):
These actual limits were observed in TCP packet captures taken when using the official SmartSDR software.
Note: I do not have access to other radio models to verify their exact limits, but they should follow their respective hardware specifications rather than fixed assumptions.
Steps to reproduce
Environment
Suggested fix
RadioModelwith accurate per-model valuesminPanBandwidthMhz()→ model-specific minimumsmaxPanBandwidthMhz()→ correct maximums (e.g., 14.745601 MHz where applicable)contains) for model detection if possible—use a structured model identifierBetter approaches (preferred order)
Suggested labels
Additional notes
The current implementation appears to rely on approximate or legacy assumptions:
Given that Flex radios expose precise capabilities, this logic should ideally be data-driven rather than hardcoded.
What did you expect?
No response
Steps to reproduce
No response
Radio model & firmware
No response
Linux distro & Qt version
No response