Commit Graph
179 Commits
Author SHA1 Message Date
MMX b8ca22344a Merge pull request #80 from zero-mega/main
Add PSA Encoder
2026-01-27 03:26:55 +03:00
MX a50067aed8 Merge branch 'rg_main' into zm 2026-01-27 03:26:05 +03:00
MMX d4279c55eb Merge pull request #81 from RocketGod-git/Memory-and-Storage-Fixes
Refactor storage and radio initialization logic
2026-01-27 03:18:31 +03:00
MX 9426369965 Fixes and final touches 2026-01-27 03:17:49 +03:00
RocketGod b69c23ac19 Refactor storage and radio initialization logic
Removes the file list cache and related logic from protopirate_storage, deferring file browsing to the dialogs file browser. Refactors radio initialization and deinitialization to be performed on-demand in relevant scenes, reducing memory usage and improving modularity. Updates scene logic to use the new file browser and radio management, and adds detailed logging and memory usage tracking for debugging. Also includes minor formatting and heap logging improvements. Will leave logging until we don't need it anymore.
2026-01-26 10:14:25 -08:00
zero-mega b76d1e7dbc Add PSA Encoder 2026-01-26 18:54:57 +01:00
RocketGod 55e8068ed3 Remove mutex usage and simplify file storage logic
Eliminated all mutex-based locking and re-entrancy logic from protopirate_storage.c, simplifying file list management and related functions. Reduced MAX_FILES_TO_DISPLAY to 30 and shortened file entry name buffer. Updated file list builder to allocate and free memory as needed, and added yielding in file enumeration to prevent watchdog lockups. In protopirate_scene_saved.c, limited displayed items to 20 and added GUI yield to prevent lockup. Reduced encoder upload buffer size from 1024 to 512 in fiat_v0.c and ford_v0.c.
2026-01-25 22:22:45 -08:00
MMX 3342128fa2 Merge pull request #78 from RocketGod-git/encoder.size_upload-reduction
Reduce encoder upload buffer size to 1024
2026-01-24 05:34:45 +03:00
MX 22a2f3bc1f Merge branch 'rg_main' into encoder.size_upload-reduction 2026-01-24 05:15:16 +03:00
MX e65dc9ed3e fix stack size 2026-01-24 05:15:07 +03:00
RocketGod 8ed8e44b38 Reduce encoder upload buffer size to 1024
Decreased the encoder.size_upload value from 2048 to 1024 in both fiat_v0 and ford_v0 protocol implementations to optimize memory usage.
2026-01-23 18:02:42 -08:00
MMX b79c12a8ba Merge pull request #72 from LeeroysHub/or_receiver_led
Added Cyan blinking LED to Receiver.
2026-01-23 16:25:36 +03:00
MMX ee69d0e845 Merge pull request #63 from RocketGod-git/USB-Serial-Fix
Add mutex locking and safety checks to storage operations
2026-01-23 16:23:50 +03:00
MX 65487f7bf8 Merge branch 'rg_main' into USB-Serial-Fix 2026-01-23 16:23:29 +03:00
MMX 45b635e291 Merge pull request #76 from zero-mega/main
Add PSA Decoder decryption (Direct and Bruteforce)
2026-01-23 16:21:15 +03:00
MMX 9454fa821a Merge pull request #75 from LeeroysHub/pr_update_bs_crc
FORD: Update PSF with new BS and CRC after TX
2026-01-23 16:20:59 +03:00
MMX 047a34531f Merge pull request #74 from LeeroysHub/pr_load_from_browser
Load PSF from Parameter (FW Integration in Favorites and Browser)
2026-01-23 16:20:46 +03:00
MMX fbf2f62224 Merge pull request #71 from LeeroysHub/PR_Ford_Display
Add BS Magic to Saved Info View, make visible in Received.
2026-01-23 16:20:31 +03:00
MMX dc8ea60d06 Merge pull request #70 from LeeroysHub/PR_Ford_BS_Overflow
Incorrect BS when result overflows.
2026-01-23 16:20:18 +03:00
zero-mega 55d61568e0 Add PSA Decoder decryption (Direct and Bruteforce) 2026-01-22 15:39:48 +01:00
Leeroy 8d2163c628 FORD: Update PSF with new BS and CRC after TX 2026-01-22 23:21:49 +11:00
RocketGod 78e8673ea8 Merge branch 'main' of https://github.com/RocketGod-git/ProtoPirate 2026-01-21 19:03:36 -08:00
RocketGod 3a8567be83 Update credits and bump version to 1.7
Added 'Leeroy' and 'MMX' to the contributors and protocol magic credits in README.md and protopirate_scene_about.c. Incremented application version from 1.6 to 1.7 in application.fam.
2026-01-21 19:03:22 -08:00
RocketGod 7a4f1a40ad Merge pull request #73 from LeeroysHub/pr_tx_buttons
Move TX buttons to + shape
2026-01-21 18:49:26 -08:00
RocketGod 67c896dc81 Add optional debug logging for bit-level operations
Introduced the FORD_V0_DEBUG_BITS macro to enable detailed debug logging of each bit processed in the Ford V0 protocol decoder. Logging is wrapped in a preprocessor check to avoid performance impact unless explicitly enabled.
2026-01-21 18:38:54 -08:00
Leeroy 7bfdeaaac3 Add CYAN blining LED for Receiver (Like SubGhz App) 2026-01-22 10:37:45 +11:00
Leeroy abeeefd3b4 Load PSF from Parameter (FW Integration in Favorites and Browser) 2026-01-21 22:45:55 +11:00
Leeroy 1823d6438e Moved Receiver Info around so BS Magic isnt off-screen.
* Added spaces for easier viewing
* Swap BS Magic and Btn so BS Magic always fits
2026-01-21 17:07:14 +11:00
Leeroy b49a97a999 Add BS Magic Number to Saved Info View 2026-01-21 17:05:56 +11:00
Leeroy 8f1d3b5bec Handle BS overflow in Ford Decoder 2026-01-21 16:56:15 +11:00
Leeroy e402bb582c Move TX buttons to + shape 2026-01-21 12:32:52 +11:00
RocketGod e125489c65 Merge pull request #69 from LeeroysHub/PR_BS_Magic_Number
Add BS Magic Number calculation to Ford V0
2026-01-19 21:28:01 -08:00
Leeroy 699ab89d7c Refactor BS magic number calculation into 1 liner 2026-01-20 14:43:10 +11:00
Leeroy 2dabdb3c68 Remove overflow handling for PR 2026-01-20 14:17:41 +11:00
Leeroy 88e3e515a0 BAckward compatibilty with old PSF files 2026-01-20 13:45:40 +11:00
Leeroy eabbff45d3 Add BS Magic Number calculation to Ford V0
* The Code uses 6f, all my remotes use different numbers.
* So, I am getting the required Magic Number on decode,
* and saving that to the psf.
* Then on Encode, I grab that number and use that instead of 6f
* This works with the 2 remotes I have, and I dont have to patch
* the Magic Number from Calulator anymore!

*** I noticed my Chinese Fob with Magic of 0 said CRC BAD, but Car Unlocked as it captured!
*** It also works when Emulated, car unlocks.
*** The CRC check will have to be looked at!
2026-01-20 13:21:51 +11:00
RocketGod 1408ee09a8 Merge pull request #67 from zero-mega/main 2026-01-19 10:11:28 -08:00
zero-mega e191349f8e Merge branch 'RocketGod-git:main' into main 2026-01-19 18:18:41 +01:00
zero-mega 8f42155e37 Add PSA decoder (no decryption yet) 2026-01-19 11:36:52 +01:00
RocketGod d582dfc57d Merge pull request #64 from RocketGod-git/Ford-encoder-fixes
Refactor and enhance Ford V0 protocol encoder/decoder
2026-01-18 11:46:53 -08:00
RocketGod aa010536b2 Refactor and enhance Ford V0 protocol encoder/decoder
Reorganizes code with clearer sectioning and comments, adds explicit BS calculation, and implements robust encode/decode functions for Ford V0 protocol. Improves logging, error handling, and field extraction in encoder deserialization, and ensures protocol fields are recalculated rather than loaded from files. Cleans up and clarifies bit manipulation logic, and enhances maintainability and readability throughout the protocol implementation.
2026-01-18 11:44:09 -08:00
RocketGod 2354ae6c6b Add mutex locking and safety checks to storage operations
Introduced a mutex for thread safety in protopirate_storage.c, ensuring exclusive access to file operations and preventing re-entrancy. Added bounds checks for array allocations, safety limits for directory iteration, and improved error handling and logging.
2026-01-18 10:09:15 -08:00
RocketGod bd9eebff73 Merge pull request #57 from RocketGod-git/Ford-V0-CRC-(ENCODER)
Add CRC to encoder
2026-01-17 18:47:55 -08:00
RocketGod 0d043831ba Add CRC to encoder
Removed verbose debug logging and refactored CRC calculation for Ford V0 protocol, including a new function for CRC calculation during encoding and proper bit inversion for transmission and verification. Updated key2 construction to always use calculated CRC.
2026-01-17 18:46:46 -08:00
RocketGod f5e7c73b16 Merge pull request #56 from RocketGod-git/Ford-V0-CRC-(DECODE)
Add Ford V0 CRC verification and logging
2026-01-17 18:06:57 -08:00
RocketGod 4ee8932eaf Add Ford V0 CRC verification and logging
Implements CRC calculation and verification for Ford V0 protocol using a firmware-extracted matrix. Adds detailed logging for CRC operations, decoding, and deserialization, and updates output string to show CRC status. Also improves button naming and field extraction during deserialization.
2026-01-17 18:06:26 -08:00
RocketGod 9d405bdc6f Add Subaru to list of supported encoders
Updated the README to include Subaru in the list of supported encoders, reflecting expanded compatibility.
2026-01-16 15:56:39 -08:00
RocketGod 096941f93d Merge pull request #52 from RocketGod-git/Suzuki-fixes
Add encoder implementation for Suzuki protocol
2026-01-16 15:54:14 -08:00
RocketGod b4124fc633 Refactor Suzuki protocol header for clarity and structure 2026-01-16 15:52:11 -08:00
RocketGod e5a6ba574b Merge branch 'main' into Suzuki-fixes 2026-01-16 15:49:04 -08:00