Commit Graph

424 Commits

Author SHA1 Message Date
0mega fdb1e3fe90 fix to allow to disable emulate from defines if needed 2026-07-01 08:54:44 +02:00
MX 99bc8d6d77 Merge branch 'pp_main' into zero-mega 2026-07-01 01:04:06 +03:00
0mega 62b31bfe95 More Memory optimizations and new protocols
- Split RX registries into more plugins: AM, AM VAG, FM, FM F4, and FM Honda1
- Add per-protocol TX plugins so emulation loads only the selected encoder
- Sub Decode (enabled by default) and Timing Tuner as plugins
- Max history increased to 20 signals
- Fix Sub Decode and simplified UI
- Add Check Saved setting ported from dexter_pester PR !
- Fix Fiat V1 decoder and add HITAG2 key TX support
- Add Renault V0, Fiat V2, Honda V2, Ford V3 (& US variant) Thanks Ash

Sorry this is a lot at once x)
2026-06-30 21:28:26 +02:00
MMX 4c95c85aae Merge pull request '~2x faster psa brute force O3 + loop unrolling on TEA rounds' (#35) from ash/ProtoPirate:whatthefxck into main
FAP Build / ufbt: Build for Momentum dev (push) Successful in 58s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m4s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 53s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 54s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 58s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m5s
2026-06-24 11:04:29 -04:00
ash 9ee3e47ccf ~2x faster psa brute force O3 + loop unrolling on TEA rounds 2026-06-24 14:35:31 +01:00
MX f14c40089d apply fbt formatting
FAP Build / ufbt: Build for Momentum dev (push) Successful in 59s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m0s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 52s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m1s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m4s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m3s
2026-06-12 17:11:09 +03:00
MX 35f678671a fix
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m1s
FAP Build / ufbt: Build for Momentum release (push) Successful in 58s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 59s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m1s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m1s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m8s
2026-06-09 05:21:45 +03:00
MX f45c2a8907 Merge remote-tracking branch 'pp_net/zero-mega' into pp_main
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m0s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m0s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 54s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 59s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 58s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 58s
2026-06-04 18:52:32 +03:00
zero-mega 25be4e177b Add Honda V1 Protocol (Thanks Ash) 2026-06-04 12:43:59 +02:00
MMX 8005a39c1a Merge pull request 'Move KIA V2 protocol from FM to AM (ASK/OOK) registry' (#33) from mishamyte/ProtoPirate:fix/kia-v2-move-to-am into main
FAP Build / ufbt: Build for Momentum dev (push) Successful in 56s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 49s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 55s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 56s
FAP Build / ufbt: Build for Momentum release (push) Successful in 3m46s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 56s
Reviewed-on: http://protopirate.net/ProtoPirate/ProtoPirate/pulls/33
Reviewed-by: MMX <mmx@no-reply.protopirate.net>
2026-06-03 16:48:55 -04:00
Myte d4ee2e59aa Move KIA V2 protocol from FM to AM (ASK/OOK) registry
KIA V2 uses Manchester encoding and was historically decoded successfully
under ASK presets. The recent AM/FM plugin split placed it in the FM
registry based on its flag, but real-world KIA V2 fobs operate on ASK.

Changes:
- protocols/kia_v2.c: SubGhzProtocolFlag_FM -> SubGhzProtocolFlag_AM
- protopirate_fm_plugin.c: remove kia_v2 include and registry entry
- protopirate_am_plugin.c: add kia_v2 include and registry entry
- application.fam: move kia_v2.c source from FM plugin to AM plugin
2026-06-03 23:30:28 +03:00
MX 2a280d00e9 Merge remote-tracking branch 'pp_net/zero-mega' into pp_main
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m4s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 57s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m6s
FAP Build / ufbt: Build for Momentum dev (push) Failing after 14m19s
FAP Build / ufbt: Build for Unleashed release (push) Failing after 14m1s
FAP Build / ufbt: Build for Unleashed dev (push) Failing after 14m8s
2026-06-01 21:15:38 +03:00
zero-mega 04937fb411 update readme and protocol flags 2026-06-01 15:38:35 +02:00
MX 80bc5c9dfd bump version
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m7s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 58s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m12s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m5s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m6s
FAP Build / ufbt: Build for Momentum dev (push) Failing after 14m46s
2026-05-24 01:41:25 +03:00
MX 005a039743 Merge remote-tracking branch 'pp_net/zero-mega' into pp_main 2026-05-24 01:27:12 +03:00
zero-mega 3fea523302 Add Emulate and PSA BF as plugins too 2026-05-22 17:52:55 +02:00
MX 63432be940 Merge remote-tracking branch 'pp_net/zero-mega' into pp_main 2026-05-21 18:06:01 +03:00
zero-mega 733a2c50c1 Uncomment REMOVE_LOGS 2026-05-20 14:28:41 -04:00
zero-mega 7da67c9a73 Now you don't have to know how to edit code to enable emulate you just need to know how to read it x) 2026-05-20 19:04:43 +02:00
zero-mega cb5ea5ba05 fix Chrysler V0 compile error and encoder 2026-05-20 18:17:39 +02:00
zero-mega 1214f338dd Fix enable emulate 2026-05-19 18:30:11 +02:00
zero-mega 3919826ec4 Fix keystore for FM protocols plugin
Fix KIA V5 encoder and KIA V3/4 encoder (CRC bruteforce...)

Add support for Ford V1 different fobs (no decryption yet) (Jaguar, Landrover, Range Rover 2018)
Add Ford V3 decoder (no decryption yet) (Ford Focus/Ranger 2020)
Thanks to Ash for thoses last two :)
2026-05-19 18:27:48 +02:00
MX 9def9c8227 Merge branch 'zero-mega' into pp_main
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m19s
FAP Build / ufbt: Build for Momentum release (push) Failing after 34s
FAP Build / ufbt: Build for OFW dev channel (push) Failing after 31s
FAP Build / ufbt: Build for OFW release channel (push) Failing after 40s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 54s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 55s
2026-05-11 19:18:28 +03:00
0mega 3612385fcc New AM/FM protocol registry plugin split
More shared helpers in protocols_commons
Storage and history improvements
Add Chrysler V0, Ford V2 (simple replay encoder), Land Rover V0
Fix Fiat V0, Subaru & Kia V5
2026-05-05 20:13:02 +02:00
MX 0f0ae6a227 Merge branch 'zero-mega' into pp_main
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m11s
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m14s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 1m7s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m9s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m7s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m12s
2026-04-24 21:12:11 +03:00
MX 578abbffc7 fix unused func compile error 2026-04-24 21:11:59 +03:00
MX 3e81dc2619 Merge remote-tracking branch 'pp_net/zero-mega' into pp_main 2026-04-24 19:56:54 +03:00
0mega 3ebe354b04 - Fix Honda Static (FM registry, compact decoder, checksum/layout)
- Defer radio init until first use
- Add shared radio helpers
- Reduce PROTOPIRATE_HISTORY_MAX to 10
- Lazy allocate scenes/widgets/receiver on enter
- Lint & format
2026-04-24 15:57:18 +02:00
MX 3b76db7736 bump version
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m11s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m11s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 1m26s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m26s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m9s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m9s
2026-04-23 04:39:10 +03:00
MX 817497cd3a Merge remote-tracking branch 'pp_net/zero-mega' into pp_main 2026-04-23 04:38:19 +03:00
0mega 1c1bce5242 Improve RAM management in receiver and history
- prune protocol registry based on user selected preset
- add OOM guard for history with RAM! low-memory state
- free TX on stop
- add long press right to delete signal in history
2026-04-22 11:37:02 +02:00
MX 82ced0b881 Merge remote-tracking branch 'pp_net/zero-mega' into pp_main
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m17s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m19s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 1m8s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m12s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m9s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m7s
2026-04-21 20:23:02 +03:00
zero-mega 34a19337d6 Add Ford V1 protocol 2026-04-21 18:02:51 +02:00
zero-mega c13cdfd8e9 Clean Fiat V1 logs 2026-04-21 12:42:58 +02:00
zero-mega e24f2b3bee Fix Fiat V1
Add CRC check from ARF, remove retx path, add confirmed button mapping
2026-04-21 12:13:17 +02:00
MX 73fb035374 Merge remote-tracking branch 'pp_net/zero-mega' into pp_main
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m29s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m34s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 1m7s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m5s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m7s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m11s
2026-04-18 19:55:38 +03:00
0mega 47cbede84b History fix for PSA BF 2026-04-18 13:41:11 +02:00
0mega f9791b0a2b Store history as cached files instead of in memory
Stop RX during emulate and defer restarting RX when we get back to the receiver

Sub Decode off by default
2026-04-18 12:57:45 +02:00
0mega bca43b8912 fix ENABLE_EMULATE helpers
remove standalone suzuki
2026-04-17 12:20:51 +02:00
0mega f81a706735 Refactor Kia V0 to include shared logic for Suzuki V0 and Honda V0 2026-04-17 11:55:22 +02:00
0mega df90de255c Add Honda Static protocol 2026-04-16 21:15:43 +02:00
MX 427bafa4c2 bump version
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m10s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m12s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 1m8s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m9s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m7s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m4s
2026-04-16 02:43:13 +03:00
MX eb5dd515e4 fix build and readme
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m13s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m15s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 1m9s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m8s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m5s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m7s
2026-04-16 02:13:36 +03:00
MX 331f48b352 Merge remote-tracking branch 'pp_net/zero-mega' into pp_main
FAP Build / ufbt: Build for Momentum dev (push) Failing after 50s
FAP Build / ufbt: Build for Momentum release (push) Failing after 50s
FAP Build / ufbt: Build for OFW dev channel (push) Failing after 49s
FAP Build / ufbt: Build for OFW release channel (push) Failing after 51s
FAP Build / ufbt: Build for Unleashed dev (push) Failing after 52s
FAP Build / ufbt: Build for Unleashed release (push) Failing after 47s
2026-04-15 22:28:32 +03:00
0mega 1e9446efd8 fix 2026-04-15 10:32:04 +02:00
0mega b5374d5187 Add Kia V7 decoder and encoder 2026-04-15 10:15:03 +02:00
0mega 6758a4e6e3 Fix Mazda V0 decoder and add encoder 2026-04-14 16:10:50 +02:00
MMX fc1ba45851 Merge pull request 'Ford CRC BAD fix, and Panic Fix refactor.' (#29) from RalphWiggum/ProtoPirate:ford_crc into main
FAP Build / ufbt: Build for Momentum dev (push) Successful in 1m11s
FAP Build / ufbt: Build for Momentum release (push) Successful in 1m13s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 1m6s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 1m7s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 1m3s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 1m1s
Reviewed-on: http://protopirate.net/ProtoPirate/ProtoPirate/pulls/29
Reviewed-by: MMX <mmx@no-reply.protopirate.net>
2026-04-11 13:13:24 -04:00
Leeroy a0e1f07746 FORD: Refactor and Fix Panic = 0, Panic should = 1.
This removes the hacky code that fixed the Panic, and Sets the Button Codes to what they would actually be to Ford.

No button code should equal zero, that would mean NO button! It also fixes the overflow problem on the counter, so I think this is a better reference implementation.
2026-04-06 21:34:40 +10:00
Leeroy a3e2491044 FORD: Fix for CRC BAD.
The CRC is only wrong on valid captures because the high bit is sometimes not needing be be XORed with 0x80
This fix is technically not correct, but good for real world use.

We could still have a BAD CRC listed as OK, but this would be very unlikely to happen in the wild for a valid capture, amd only happen for 1/255 possible CRCs

I have made it so we only check the lower 7 bits of CRC, and return OK if they are all correct.
2026-04-06 21:31:23 +10:00