Refactored helpers/protopirate_storage.c for improved readability and maintainability, including code style updates and logic simplification. Updated KIA protocol v1 and v2 implementations for better consistency, logging, and CRC handling. Increased stack size and version in application.fam, and added keystore to file assets. These changes improve protocol support, file management, and code clarity.
Replaces obfuscated key macros and inline functions with external key variables and function declarations. Adds protopirate_keys_load to initialize keys using a SubGhzEnvironment. Updates includes to use subghz environment and keystore headers.
This commit is from @xMasterX (MMX) and introduces implementation files for StarLine and Scher-Khan SubGhz protocols, including protocol decoders, encoders, and keeloq key management. Adds common protocol utilities, keystore handling, and protocol-specific logic for key generation, serialization, and deserialization.
Implemented the encoder for the Ford V0 SubGhz protocol, including allocation, freeing, deserialization, stop, and yield functions. Updated the protocol flags to support encoding, loading, saving, and sending. Added encoder-specific fields to the encoder struct and provided the encoding logic for generating transmission bursts. Updated the header file to declare encoder functions.
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.
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.
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.