refactor: create pm3py/trace/ for shared trace infrastructure

Trace buffer parsing, protocol decoders, NDEF annotation, and
formatting are firmware-level features shared by sniff, sim, and
reader modes — not sniff-specific. Moves these from sniff/ into
trace/. sniff/ retains only SniffSession (orchestration) and
re-exports trace symbols for convenience.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
michael
2026-03-18 19:49:20 -07:00
parent 20f5d66f93
commit 117f46efb9
8 changed files with 28 additions and 12 deletions

View File

@@ -3,13 +3,13 @@ import struct
from .protocol import Cmd
from .transport import PM3Transport, PM3Error
# Re-export sniff symbols for backward compat with existing test imports
from ..sniff.trace import parse_tracelog, TRACELOG_HDR_SIZE
from ..sniff.decode_iso15 import (
# Re-export trace symbols for backward compat with existing test imports
from ..trace import (
parse_tracelog, TRACELOG_HDR_SIZE,
decode_15693_request, decode_15693_response, decode_15693,
decode_ndef_annotation,
format_sniff_line,
)
from ..sniff.ndef import decode_ndef_annotation
from ..sniff.format import format_sniff_line
# ISO15 PM3 flags
ISO15_CONNECT = 0x01

View File

@@ -1,9 +1,13 @@
"""pm3py.sniff — Sniff sessions, trace parsing, protocol decoders, formatting."""
"""pm3py.sniff — Sniff sessions (orchestrate sniff → download → decode format)."""
from .session import SniffSession
from .trace import parse_tracelog, TRACELOG_HDR_SIZE
from .decode_iso15 import decode_15693, decode_15693_request, decode_15693_response
from .ndef import decode_ndef_annotation
from .format import format_sniff_line
# Re-export trace symbols for convenience
from ..trace import (
parse_tracelog, TRACELOG_HDR_SIZE,
decode_15693, decode_15693_request, decode_15693_response,
decode_ndef_annotation,
format_sniff_line,
)
__all__ = [
"SniffSession",

View File

@@ -3,8 +3,8 @@ import sys
from ..core.protocol import Cmd, PM3_CMD_DATA_SIZE
from ..core.transport import PM3Transport, encode_ng_frame
from .trace import parse_tracelog
from .format import format_sniff_line
from ..trace import parse_tracelog
from ..trace.format import format_sniff_line
class SniffSession:

12
pm3py/trace/__init__.py Normal file
View File

@@ -0,0 +1,12 @@
"""pm3py.trace — Firmware trace buffer infrastructure (shared by sniff, sim, reader)."""
from .trace import parse_tracelog, TRACELOG_HDR_SIZE
from .decode_iso15 import decode_15693, decode_15693_request, decode_15693_response
from .ndef import decode_ndef_annotation
from .format import format_sniff_line
__all__ = [
"parse_tracelog", "TRACELOG_HDR_SIZE",
"decode_15693", "decode_15693_request", "decode_15693_response",
"decode_ndef_annotation",
"format_sniff_line",
]