feat(tscm): add custom frequency range option to RF sweep

Adds a "Custom Range" sweep type that lets users specify start/end MHz
instead of using a fixed preset. Useful in dense RF environments where
a full or standard sweep returns too many signals and causes slowdown.

UI shows start/end MHz inputs when "Custom Range" is selected. Range is
validated (0 < start < end ≤ 6000 MHz) before the sweep starts.
Backend threads the ranges through to _scan_rf_signals(), which already
supports arbitrary frequency bands.

Closes #172
This commit is contained in:
James Smith
2026-04-05 15:46:01 +01:00
parent fe64dd9c93
commit ea80b5ebc3
4 changed files with 49 additions and 6 deletions
+15 -1
View File
@@ -6,14 +6,28 @@
<div class="form-group">
<label>Sweep Type</label>
<select id="tscmSweepType">
<select id="tscmSweepType" onchange="document.getElementById('tscmCustomRangeControls').style.display = this.value === 'custom' ? 'block' : 'none'">
<option value="quick">Quick Scan (2 min)</option>
<option value="standard" selected>Standard (5 min)</option>
<option value="full">Full Sweep (15 min)</option>
<option value="wireless_cameras">Wireless Cameras</option>
<option value="body_worn">Body-Worn Devices</option>
<option value="gps_trackers">GPS Trackers</option>
<option value="custom">Custom Range</option>
</select>
<div id="tscmCustomRangeControls" style="display: none; margin-top: 8px;">
<div style="display: flex; gap: 8px;">
<div style="flex: 1;">
<label style="font-size: 10px; color: var(--text-dim);">Start (MHz)</label>
<input type="number" id="tscmCustomStartMhz" value="400" min="1" max="6000" step="1">
</div>
<div style="flex: 1;">
<label style="font-size: 10px; color: var(--text-dim);">End (MHz)</label>
<input type="number" id="tscmCustomEndMhz" value="500" min="1" max="6000" step="1">
</div>
</div>
<p class="info-text" style="font-size: 10px; color: var(--text-dim); margin-top: 3px;">Step: 100 kHz. Duration: ~5 min.</p>
</div>
</div>
<div class="form-group">