How rocketgod-git/protopirate works
ProtoPirate is a Flipper Zero app for capturing and decoding automotive key-fob signals, analyzing saved or raw captures, and optionally emulating supported protocols. The main workflow is user → receiver → protocol decoding → live history or saved capture; separate branches handle .sub analysis, timing measurement, brute-force analysis, and emulation. The README documents these capabilities and protocol coverage; sampled source confirms the app shell, receiver view, AM registry, storage, history, and selected analysis/emulation code. Some scene-to-helper wiring is not shown, so uncertain links are omitted.
Main entry points: protopirate_app.c App controller · protopirate_scene_receiver.c Receiver scene · protopirate_scene_sub_decode.c RAW sub decode · protopirate_storage.c Capture storage
Components 21
App and scenes
- App controller
protopirate_app.c - Scene flow
scenes/protopirate_scene.c - Receiver scene
scenes/protopirate_scene_receiver.c - Receiver display
views/protopirate_receiver.c - Tool plugins
scenes/plugins
Radio and decoding
- Radio and TX/RX
helpers/protopirate_radio.c - Protocol host
helpers/protopirate_protocol_plugin_host.c - AM protocols
protocols/plugins/protopirate_am_plugin.c - Protocol decoders
protocols
Capture management
- Live history
protopirate_history.c - Capture storage
helpers/protopirate_storage.c - Saved captures
scenes/protopirate_scene_saved.c
Analysis tools
- RAW sub decode
scenes/protopirate_scene_sub_decode.c - RAW file reader
helpers/raw_file_reader.c - Timing tuner
scenes/protopirate_scene_timing_tuner.c - Brute-force analysis
scenes/plugins/protopirate_psa_bf_plugin.c - BF protocol core
protocols/psa_bf_core.c
Emulation
- Emulation scene
scenes/plugins/protopirate_emulate_plugin.c
Other components
- User
- Flipper radio
- SD card files
Connections 22
- User → App controller: operates
- App controller → Scene flow: dispatches
- Scene flow → Receiver scene: routes
- Receiver scene → Receiver display: updates view
- Flipper radio → Radio and TX/RX: supplies signals
- Radio and TX/RX → Protocol host: selects registry
- Protocol host → AM protocols: loads
- AM protocols → Protocol decoders: registers
- Receiver scene → Live history: records captures
- Live history → Capture storage: stores history
- User → Saved captures: browses
- Saved captures → Capture storage: reads captures
- User → RAW sub decode: selects RAW file
- RAW sub decode → RAW file reader: reads capture
- RAW sub decode → Brute-force analysis: starts analysis
- Brute-force analysis → BF protocol core: runs search
- User → Timing tuner: starts measurement
- Flipper radio → Timing tuner: provides timings
- User → Emulation scene: requests emulation
- Emulation scene → Flipper radio: transmits signal
- App controller → Tool plugins: loads plugins
- Capture storage → SD card files: reads and writes