Corrects the number of data bits and transitions in the KIA protocol encoder, ensuring 59 bits (118 transitions) are sent per burst. Refactors burst completion logic for clarity and accuracy.
Implemented CRC8 calculation and verification for the Kia protocol, ensuring data integrity during encoding and decoding. Added support for multi-burst transmissions with configurable inter-burst gaps. Refactored encoder state management, improved logging, and exposed new encoder helper functions for button and counter manipulation.
Reordered and expanded the credits list to include additional contributors and clarify roles. Updated the order of names under 'App Development', 'Protocol Magic', and 'RE Support' sections. Need to order by contributions later...
Introduces a new Timing Tuner scene for analyzing and tuning protocol timings. Adds protocol timing definitions and lookup functions to protocol_items, updates the app and scene config to support the new tool, and implements a UI for capturing, analyzing, and displaying timing statistics for received signals.
Introduces a static file list cache in protopirate_storage to improve file listing and sorting, with new functions to build, free, and access the cache. Updates file save logic to better handle protocol-specific fields and serialization, and ensures memory is freed on app exit. Adds debug logging for file operations and improves robustness in file handling throughout the app.
Introduces a save button to the sub decode scene, allowing users to save decoded or partially decoded signals. Refactors history management to properly free resources and automatically remove the oldest entry when the history is full. Updates protocol button mappings and UI labels for better clarity and consistency.
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.
Introduces ProtoPirateSettings struct and helpers to load and save user settings (frequency, preset, auto-save, hopping) to disk. The app now loads settings on startup and saves them on exit, applying validation and defaults as needed. Updates initialization and teardown logic to use these settings.
Introduces an auto-save option to automatically store received captures. The auto-save status is displayed in the receiver scene, and a new configuration option allows users to enable or disable this feature. When enabled, captures are saved with protocol-based filenames and a notification is triggered upon successful save.
Introduces a new 'Sub Decode' scene to the ProtoPirate app, allowing users to select and analyze SubGhz protocol files. The scene supports both RAW and protocol-based decoding, provides animated feedback for success or failure, and displays detailed results or error information. Updates include menu integration, scene registration, and all necessary logic for file handling, decoding, and UI rendering.
Deleted BMW and Fiat V0 protocol source and header files, and removed their registration from the protocol registry. Also updated the application version to 1.2. This change eliminates support for these protocols from the application since they were causing others to break.
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.