mirror of
https://github.com/D4C1-Labs/Flipper-ARF.git
synced 2026-03-30 19:06:01 +00:00
Update subghz protocol registry and perform a large refactor of Subaru and Suzuki implementations. Rename protocol symbols to subghz_protocol_suzuki / subghz_protocol_subaru and expose SUBGHZ_PROTOCOL_SUBARU_NAME; unify includes and use block helpers (const, decoder, encoder, generic, math, custom_btn_i). Subaru: rewrite decoder/encoder types and logic, add count encode/decode, button mapping and names, adjust timing/deltas, add encoder upload builder, improve (de)serialization, use furi_assert, support additional flags (315/433 AM/FM) and custom button handling. Suzuki: clean up decoder/encoder structs, add CRC calculation/verification, button <-> custom mappings, tighten preamble/gap thresholds and parser logic, update protocol flags and naming. Misc: memory and API consistency fixes, improved formatting and small performance/clarity tweaks across headers and source.
Structure
app-scened-template- C++ app librarybit_lib- library for working with bits/bytes directlyble_profile- BLE Profiles source codecmsis_core- CMSIS Core package, contain cortex-m core headerscxxheaderparser- C++ headers parser, used by SDK bundlerdatetime- DateTime librarydigital_signal- Digital signal library: used by NFC for software implemented protocolsdrivers- Various flipper driversfatfs- FatFS file system driverflipper_application- Flipper application library, used for FAPsflipper_format- Flipper File Format libraryFreeRTOS-glue- Extra glue to hold together FreeRTOS kernel and flipper firmwareFreeRTOS-Kernel- FreeRTOS kernel source codeheatshrink- Heatshrink compression libraryinfrared- Infrared library, used by Infrared applicationlfrfid- LF-RFID library, used by LF RFID applicationlibusb_stm32- LibUSB for STM32 series MCUmbedtls- MbedTLS cryptography librarymicrotar- MicroTAR librarymjs- MJs, javascript engine librarymlib- M-Lib C containers librarymusic_worker- MusicWorker library for playing midi and RTTTL filesnanopb- NanoPB library, protobuf implementation for MCUnfc- NFC library, used by NFC applicationprint- Tiny printf implementationdigital_signal- Digital Signal library used by NFC for software implemented protocolspulse_reader- Pulse Reader library used by NFC for software implemented protocolsstm32wb_cmsis- STM32WB series CMSIS headers, extends CMSIS Corestm32wb_copro- STM32WB Copro library: contains WPAN and radio co-processor firmwarestm32wb_hal- STM32WB HAL library, extends STM32WB CMSIS and provides HALsubghz- Subghz library, used by SubGhz applicationtoolbox- Toolbox library, contains various things that is used by Flipper firmwareu8g2- u8g2 graphics library, used by GUI subsystemupdate_util- update utilities library, used by updater