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_CSETUID = 0x0316
|
||||||
HF_ISO15693_EML_SETMEM = 0x0331
|
HF_ISO15693_EML_SETMEM = 0x0331
|
||||||
|
|
||||||
|
HF_SNIFF_STREAM = 0x0337
|
||||||
|
HF_SNIFF_STATUS = 0x0338
|
||||||
|
|
||||||
# Sim table commands (firmware response table)
|
# Sim table commands (firmware response table)
|
||||||
SIM_TABLE_UPLOAD = 0x0900
|
SIM_TABLE_UPLOAD = 0x0900
|
||||||
SIM_TABLE_CLEAR = 0x0901
|
SIM_TABLE_CLEAR = 0x0901
|
||||||
@@ -265,3 +268,14 @@ class Cmd(IntEnum):
|
|||||||
FPGAMEM_DOWNLOADED = 0x0803
|
FPGAMEM_DOWNLOADED = 0x0803
|
||||||
|
|
||||||
UNKNOWN = 0xFFFF
|
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