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
- 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
- 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
Replaces the blocking DialogMessage approach with a proper scene-based
exit confirmation, matching the main firmware's SubGhzSceneNeedSaving pattern.
Non-blocking design keeps the event loop running during the dialog.
Skips confirmation when auto-save is enabled since data is already persisted.
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.
Improves and refactors protopirate_storage to add cache invalidation, file existence checks, and proper resource management. Updates emulation scene to ensure correct cleanup, resource allocation, and transmitter setup. Adds menu reset to receiver view and ensures proper widget reset in receiver info. Updates saved info scene to use new storage close function.
Adds detailed logging and error handling for radio device selection and connection, clarifies external/internal device status throughout the app, and updates the receiver view to display EXT/INT status in the UI. Also refactors code for better maintainability and debugging, ensuring correct device selection and status reporting.
Replaces the static waiting screen in the receiver view with an animated radar visualization featuring expanding waves, a rotating sweep line, and pulsing effects. Also refactors and animates the RSSI indicator, updates status bar layout, and adds an activity pulse when receiving. Removes the old static RSSI drawing function and introduces an animation frame counter to support the new visuals.