Skip to content

Add Legic Prime 7-slot RDV4 standalone mode (HF_LEGIC_RDV4) - #3564

Open
digitalhoax wants to merge 1 commit into
RfidResearchGroup:masterfrom
digitalhoax:feature/hf-legic-rdv4
Open

Add Legic Prime 7-slot RDV4 standalone mode (HF_LEGIC_RDV4)#3564
digitalhoax wants to merge 1 commit into
RfidResearchGroup:masterfrom
digitalhoax:feature/hf-legic-rdv4

Conversation

@digitalhoax

Copy link
Copy Markdown

Problem:
The existing Legic standalone mode (HF_LEGIC) supports only a single tag slot in RAM/flash with basic controls. Users on the Proxmark3 RDV4 require multiple persistent memory slots with clear LED state feedback for field use.

Change:

  • Implemented armsrc/Standalone/hf_legic_rdv4.c providing 7 independent Legic Prime tag slots.
  • Added SPIFFS persistence (hf-legic-slot-1.bin - hf-legic-slot-7.bin).
  • Implemented binary LED slot signaling using LEDs B, C, and D.
  • Added single click (slot cycling), double click (scan/emulate toggle), and long hold (exit) with debounced button release detection.
  • Synchronized build definitions in Makefile.hal, Makefile.inc, StandAloneOption.cmake, and StandAloneSource.cmake.

Behaviour change:

  • New standalone mode option STANDALONE=HF_LEGIC_RDV4 available for RDV4 targets.
    Testing:
  • Built warning-free on PM3RDV4 ARM toolchain (gcc 13.3).
  • Verified warning-free host client compilation on macOS (clang).
  • Tested on RDV4 hardware: slot cycling (1-7), scan-to-emulate auto-transition, double-click toggling, and flash memory persistence across power cycles.

@github-actions

Copy link
Copy Markdown

You are welcome to add an entry to the CHANGELOG.md as well

@digitalhoax

Copy link
Copy Markdown
Author

Full disclosure: this is AI assisted code (Gemini 3.7 Flash). All checks in PR performed manually and on device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant