mirror of
https://github.com/flipperdevices/flipperzero-firmware.git
synced 2026-03-07 00:37:01 +01:00
* Abstract primitive type from main logic in FuriEventLoop * Remove message_queue_i.h * Add stream buffer support for event loop * Add semaphore support for event loop * Add temporary unit test workaround * Make the linter happy * Add mutex support for event loop * Implement event subscription and unsubscription while the event loop is running * Implement edge events * Fix leftover logical errors * Add event loop timer example application * Implement flag-based edge trigger and one-shot mode * Add event loop mutex example application * Only notify the event loop if stream buffer is at or above its trigger level * Reformat comments * Add event loop stream buffer example application * Add event loop multiple elements example application * Improve event loop flag names * Remove redundant signal handler as it is already handled by the event loop * Refactor Power service, improve ViewHolder * Use ViewHolder instead of ViewDispatcher in About app * Enable ViewDispatcher queue on construction, deprecate view_dispatcher_enable_queue() * Remove all invocations of view_dispatcher_enable_queue() * Remove app-scened-template * Remove missing library from target.json * Port Accessor app to ViewHolder * Make the linter happy * Add example_view_holder application, update ViewHolder docs * Add example_view_dispatcher application, update ViewDispatcher docs * Replace FuriSemaphore with FuriApiLock, remove workaround delay * Fix logical error * Fix another logical error * Use the sources directive to speed up compilation * Use constant define macro * Improve FuriEventLoop documentation * Improve FuriEventLoop documentation once more * Bump API Version * Gui: remove redundant checks from ViewDispatcher * Gui: remove dead ifs from ViewDispatcher Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com> Co-authored-by: hedger <hedger@users.noreply.github.com> Co-authored-by: あく <alleteam@gmail.com>
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 libraryibutton- ibutton library, used by iButton applicationinfrared- 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 applicationone_wire- OneWire library, used by iButton 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