Просмотр исходного кода

Ver bump, new icon, RX brainstorming

Zachary Weiss 2 лет назад
Родитель
Сommit
8d0e3367f3

+ 9 - 8
README.md

@@ -19,7 +19,6 @@ Emulation:
 - [ ] Validate arha's bitmap changes, transition over to it fully
 - [ ] General code cleanup
 - [ ] Reverse track precompute & replay (should be simple with new bitmap approach; just iterate through bytes backwards, bits forwards?)
-- [ ] Prefix/between/suffix addition to config menu
 - [ ] Parameter tuning, find best defaults, troubleshoot improperly parsed TX
 - [ ] Pursue skunkworks TX improvement ideas listed below
 
@@ -35,15 +34,17 @@ File management:
 
 ## Skunkworks ideas
 Internal TX improvements:
-- [ ] Attempt downstream modulation techniques, in addition to upstream, like the LF RFID worker does when writing, for stronger signal
+- [ ] Attempt downstream modulation techniques in addition to upstream, like the LF RFID worker does when writing.
 - [ ] 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 (likely unfruitful from initial tests; we can enable/disable the oscillating field, but even with transparent mode to the ST25R3916, it seems we don't get low-enough-level control to pull it high/low correctly) 
 
 External RX options:
-1. UART-connected mag reader (bulky, but likely easiest to read over GPIO, and means one can read all tracks)
-2. Square audio jack mag reader (this may be DOA; seems like newer versions of the Square modules have some form of preprocessing that also modifies the signal, perhaps in an effort to discourage folks using their hardware independent of their software. Thanks [@arha](https://github.com/arha) for your work investigating this)
-3. Some read-head directly connected to GPIO, ADC'd, and parsed all on the Flipper. Likely the most compact and cheapest module option, but also would require the most work.
-4. USB HID input likely infeasible; seems the FZ cannot act as an HID host.
+1. [TTL / PS/2 mag reader connected to UART](https://www.alibaba.com/product-detail/Mini-portable-12-3-tracks-usb_60679900708.html) (bulky, harder to source, but likely easiest to read over GPIO, and means one can read all tracks)
+2. Square audio jack mag reader (this may be DOA; seems like newer versions of the Square modules have some form of preprocessing that also modifies the signal, perhaps in an effort to discourage folks using their hardware independent of their software. Thanks [arha](https://github.com/arha) for your work investigating this)
+3. Some [read-head](https://www.alibaba.com/product-detail/POS-1-2-3-triple-track_60677205741.html) directly connected to GPIO, ADC'd, and parsed all on the Flipper. Likely the most compact and cheapest module option, but also would require the most work.
+4. USB HID input over pre-existing USB C port infeasible; seems the FZ cannot act as an HID host (MCU is the STM32WB55RGV6TR).
+5. Custom USB HID host hat based on MAX3421E (USB Host Controller w/ SPI), like the [Arduino USB Host Shield](https://docs.arduino.cc/retired/shields/arduino-usb-host-shield). Would be a large but worthwhile project in its own right, and would let one connect any USB HID reader they desire (or other HID devices for other projects). Suggestion credit to [arha](https://github.com/arha).
+6. Implement a software USB host solution over GPIO like [esp32_usb_soft_host](https://github.com/sdima1357/esp32_usb_soft_host). Suggestion credit to [arha](https://github.com/arha). Also a large undertaking, but valuable in and of itself.
 
 ## arha todo & notes
 Attempting to exploit flipper hardware to some extent
@@ -61,8 +62,8 @@ Attempting to exploit flipper hardware to some extent
 This project interpolates work from [Samy Kamkar's original MagSpoof project](https://github.com/samyk/magspoof), [dunaevai135 & AlexYaro's Flipper hackathon project](https://github.com/dunaevai135/flipperzero-firmware), and the Flipper team's [LF RFID](https://github.com/flipperdevices/flipperzero-firmware/tree/dev/applications/main/lfrfid) and [SubGhz](https://github.com/flipperdevices/flipperzero-firmware/tree/dev/applications/main/subghz) apps.  
 
 Many thanks to everyone who has helped in addition to those above, most notably: 
-- [arha](https://github.com/arha) for bitmapping work and skunkworks testing (now a collaborator!)
-- [Z4urce](https://github.com/Z4urce) for the provisional app icon
+- [arha](https://github.com/arha) for bitmapping work, skunkworks testing, and inumerable suggestions/ideas/feedback (now a collaborator!)
+- [Z4urce](https://github.com/Z4urce) for an earlier app icon
 - [antirez](https://github.com/antirez) for bitmapping suggestions and general C wisdom
 - [skotopes](https://github.com/skotopes) for RFID consultation
 - [NVX](https://github.com/nvx) + dlz for NFC consultation

BIN
assets/icon_brainstorming/mag_0_10px.png


BIN
assets/icon_brainstorming/mag_1_10px.png


BIN
assets/icon_brainstorming/mag_2_10px.png


BIN
assets/icon_brainstorming/mag_3_10px.png


BIN
assets/icon_brainstorming/mag_4_10px.png


BIN
assets/icon_brainstorming/mag_5_10px.png


BIN
assets/icon_brainstorming/mag_6_10px.png


BIN
assets/icon_brainstorming/mag_7_10px.png


BIN
assets/icon_brainstorming/mag_file_10px.png


+ 1 - 1
helpers/mag_types.h

@@ -1,6 +1,6 @@
 #pragma once
 
-#define MAG_VERSION_APP "0.02"
+#define MAG_VERSION_APP "0.03"
 #define MAG_DEVELOPER "Zachary Weiss"
 #define MAG_GITHUB "github.com/zacharyweiss/magspoof_flipper"
 

BIN
icons/mag_10px.png


BIN
icons/mag_file_10px.png


+ 1 - 1
mag_device.c

@@ -179,7 +179,7 @@ bool mag_file_select(MagDevice* mag_dev) {
     mag_app_folder = furi_string_alloc_set(MAG_APP_FOLDER);
 
     DialogsFileBrowserOptions browser_options;
-    dialog_file_browser_set_basic_options(&browser_options, MAG_APP_EXTENSION, &I_mag_10px);
+    dialog_file_browser_set_basic_options(&browser_options, MAG_APP_EXTENSION, &I_mag_file_10px);
     browser_options.base_path = MAG_APP_FOLDER;
 
     bool res = dialog_file_browser_show(

+ 1 - 1
scenes/mag_scene_emulate.c

@@ -13,7 +13,7 @@ void mag_scene_emulate_on_enter(void* context) {
 
     // TODO: Display other relevant config settings (namely RFID vs GPIO)?
 
-    widget_add_icon_element(widget, 2, 1, &I_mag_10px);
+    widget_add_icon_element(widget, 2, 1, &I_mag_file_10px);
     widget_add_string_element(
         widget, 13, 2, AlignLeft, AlignTop, FontPrimary, furi_string_get_cstr(tmp_str));
     furi_string_reset(tmp_str);

+ 1 - 1
scenes/mag_scene_saved_info.c

@@ -10,7 +10,7 @@ void mag_scene_saved_info_on_enter(void* context) {
     // Use strlcpy instead perhaps, to truncate to screen width, then add ellipses if needed?
     furi_string_printf(tmp_str, "%s\r\n", mag->mag_dev->dev_name);
 
-    widget_add_icon_element(widget, 2, 1, &I_mag_10px);
+    widget_add_icon_element(widget, 2, 1, &I_mag_file_10px);
     widget_add_string_element(
         widget, 13, 2, AlignLeft, AlignTop, FontPrimary, furi_string_get_cstr(tmp_str));
     furi_string_reset(tmp_str);