feat(fw): live streaming sniff with button-toggle pause/resume
Add CMD_HF_SNIFF_STREAM (0x0337) and CMD_HF_SNIFF_STATUS (0x0338) for fire-and-forget trace streaming during sniff. Unified sniff loop uses the same proven decode path for both streaming and legacy modes — streaming replaces LogTrace with ring buffer SNIFF_PUSH/SNIFF_FLUSH. Firmware features: - Idle flush: sends buffered trace entries over USB when RF is quiet for idle_timeout_ms (configurable, default 400ms for 15693) - Button-toggle: pause/resume sniffing without restarting - DMA restart on resume for clean decoder state - BREAK_LOOP support for Python-side session.stop() - Legacy mode (flags=0) preserved unchanged Python constants: SNIFF_FLAG_STREAMING, SNIFF_FLAG_BUTTON_TOGGLE, SNIFF_STATE_STARTED/PAUSED/RESUMED/STOPPED, Cmd.HF_SNIFF_STREAM/STATUS
This commit is contained in:
2
firmware
2
firmware
Submodule firmware updated: 40475a6684...76625524b4
@@ -202,6 +202,9 @@ class Cmd(IntEnum):
|
||||
HF_ISO15693_CSETUID = 0x0316
|
||||
HF_ISO15693_EML_SETMEM = 0x0331
|
||||
|
||||
HF_SNIFF_STREAM = 0x0337
|
||||
HF_SNIFF_STATUS = 0x0338
|
||||
|
||||
# Sim table commands (firmware response table)
|
||||
SIM_TABLE_UPLOAD = 0x0900
|
||||
SIM_TABLE_CLEAR = 0x0901
|
||||
@@ -265,3 +268,14 @@ class Cmd(IntEnum):
|
||||
FPGAMEM_DOWNLOADED = 0x0803
|
||||
|
||||
UNKNOWN = 0xFFFF
|
||||
|
||||
|
||||
# Sniff streaming flags
|
||||
SNIFF_FLAG_STREAMING = 0x01
|
||||
SNIFF_FLAG_BUTTON_TOGGLE = 0x02
|
||||
|
||||
# Sniff states
|
||||
SNIFF_STATE_STARTED = 0
|
||||
SNIFF_STATE_PAUSED = 1
|
||||
SNIFF_STATE_RESUMED = 2
|
||||
SNIFF_STATE_STOPPED = 3
|
||||
|
||||
Reference in New Issue
Block a user