From 376436cc520e2cf9aebc5811a36cc880bb4bae42 Mon Sep 17 00:00:00 2001 From: Zachary Weiss Date: Tue, 27 Dec 2022 16:49:58 -0500 Subject: [PATCH] Additional README notes --- README.md | 10 +++++++++- scenes/mag_scene_emulate_test.c | 5 ++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 59526446d90..967b0773156 100644 --- a/README.md +++ b/README.md @@ -7,5 +7,13 @@ Courses of action to try in the event the LF coil signal is too weak: - Attempt downstream modulation techniques, in addition to upstream, like the LF RFID worker does when writing - Introduce a subcarrier at ~125kHz, and OOK modulate it at the desired freq of bits (~4kHz) - Implement using the timer system, rather than direct-writing to pins -- Use the NFC (HF RFID) coil instead of or in addition to the LF coil +- Use the NFC (HF RFID) coil instead of or in addition to the LF coil (this is promising in my mind; Samsung Wallet's discontinued magstripe emulation would've been over their NFC coil, most likely) - Scrap all this and stick to using an external module for TX (could likely simplify to just a resistor and some coiled wire, rather than the full H-bridge build) + +Other misc things to investigate / build: +- File format, manual add, saving / loading +- Ideal timing / speed +- Precomputing bit output, and then sending ("RedSpoof" by devBioS does this, as they say they had timing issues when computing the bits live) +- Reverse-track emulate? +- Tuning of parameters like pre-signal zeros? +- "Interpacket delay" like the RedSpoof implementation? \ No newline at end of file diff --git a/scenes/mag_scene_emulate_test.c b/scenes/mag_scene_emulate_test.c index ca0bdeb4d06..d335602d6bf 100644 --- a/scenes/mag_scene_emulate_test.c +++ b/scenes/mag_scene_emulate_test.c @@ -2,7 +2,7 @@ #define PIN_A 0 #define PIN_B 1 // currently unused -#define CLOCK_US 250 // typically set between 200-500us +#define CLOCK_US 240 // typically set between 200-500us #define TEST_STR "%B123456781234567^LASTNAME/FIRST^YYMMSSSDDDDDDDDDDDDDDDDDDDDDDDDD?;1234567812?" // TODO: better way of setting temp test str, // text wrapping on screen? (Will be relevant for any loaded data too) @@ -167,9 +167,12 @@ bool mag_scene_emulate_test_on_event(void *context, SceneManagerEvent event) { // Hardcoding a test string for the time being, while we debug/improve LF RFID TX FuriString *v = furi_string_alloc(); furi_string_set_str(v, test_str); + + // blink led while spoofing notification_message(mag->notifications, &sequence_blink_start_magenta); mag_spoof(v, 0); notification_message(mag->notifications, &sequence_blink_stop); + furi_string_free(v); } else if (event.event == GuiButtonTypeLeft) { consumed = true;