Skip to content
This repository has been archived by the owner on Jul 28, 2024. It is now read-only.

Commit

Permalink
Additional README notes
Browse files Browse the repository at this point in the history
  • Loading branch information
zacharyweiss committed Dec 27, 2022
1 parent 258e46b commit 376436c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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?
5 changes: 4 additions & 1 deletion scenes/mag_scene_emulate_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 376436c

Please sign in to comment.