Commit Graph

6 Commits

Author SHA1 Message Date
michael
3d4634a406 fix(hf,hw): fire-and-forget dropfield, full HF_SNIFF struct, standalone payload
dropfield waited on a reply the firmware never sends (bare hf_field_off();break;) -> 2s stall + raise; use send_ng_no_response. hf.sniff under-sent the 10-byte {u32,u32,u8,u8} struct and mis-parsed the uint16 reply. hw.standalone sent an empty payload for a {arg,mlen,mode[10]} struct and blocked; pack it + fire-and-forget. Pre-existing, independent of rebase.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 00:08:40 -07:00
michael
42e6b54f29 refactor: move modules into core/ sub-package, normalize naming
Phase 1 of package refactor. Moves all source modules into pm3py/core/
with file renames (hf_14a→hf_iso14a, hf_15→hf_iso15, hf_mf→hf_mfc)
and client attribute normalization (hf.a14→hf.iso14a, hf.mf→hf.mfc).
pm3py/__init__.py re-exports from core for backward compat.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 19:24:05 -07:00
michael
a91d862647 fix(pm3py): platform-aware LED color mapping (Easy vs RDV4 have different physical layouts) 2026-03-16 00:22:43 -07:00
michael
cc7dfa89de feat(pm3py): validate PWM LED capability using device capabilities, raise on non-PWM LEDs 2026-03-16 00:20:47 -07:00
michael
8cce7eeba3 feat(pm3py): LED API with color names and keyword actions (on/off/pulse/fade/blink/brightness) 2026-03-16 00:13:50 -07:00
michael
10761b1d5f feat(pm3py): client shell and hw commands (ping, version, status, led, tune, etc) 2026-03-15 22:14:12 -07:00