feat(ook): add timing presets, RSSI, bit-order suggest, pattern filter, TSCM link

- Timing presets: five quick-fill buttons (300/600, 300/900, 400/800, 500/1500, 500 MC)
  that populate all six pulse-timing fields at once — maps to CTF flag timing profiles
- RSSI per frame: add -M level to rtl_433 command; parse snr/rssi/level from JSON;
  display dB SNR inline with each frame; include rssi_db column in CSV export
- Auto bit-order suggest: "Suggest" button counts printable chars across all stored
  frames for MSB vs LSB, selects the winner, shows count — no decoder restart needed
- Pattern filter: live hex/ASCII filter input above the frame log; hides non-matching
  frames and highlights matches in green; respects current bit order
- TSCM integration: "Decode (OOK)" button in RF signal device details panel switches
  to OOK mode and pre-fills frequency — frontend-only, no backend changes needed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
thatsatechnique
2026-03-04 11:51:39 -08:00
parent 4c282bb055
commit 0c3ccac21c
5 changed files with 157 additions and 8 deletions

View File

@@ -95,6 +95,21 @@
<input type="number" id="ookMinBits" value="8" step="1" min="1" max="512">
</div>
</div>
<div class="form-group" style="margin-top: 8px;">
<label style="font-size: 10px; color: var(--text-dim);">Quick presets (short/long &mu;s)</label>
<div style="display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px;">
<button class="preset-btn" onclick="OokMode.setTiming(300,600,8000,5000,150,8)"
title="Generic ISM default">300/600</button>
<button class="preset-btn" onclick="OokMode.setTiming(300,900,8000,5000,150,16)"
title="PWM common variant">300/900</button>
<button class="preset-btn" onclick="OokMode.setTiming(400,800,8000,5000,150,16)"
title="Generic 2:1 ratio">400/800</button>
<button class="preset-btn" onclick="OokMode.setTiming(500,1500,10000,6000,200,16)"
title="Long-range keyfob">500/1500</button>
<button class="preset-btn" onclick="OokMode.setTiming(500,1000,8000,5000,150,8)"
title="Manchester clock period">500 MC</button>
</div>
</div>
</div>
<div class="section">