* toolbox: compress: moved decompressor implementation to separate func * toolbox: compress: callback-based api; cli: storage unpack command * toolbox: compress: separate r/w contexts for stream api * targets: f18: sync API * compress: naming fixes & cleanup * toolbox: compress: using hs buffer size for stream buffers * toolbox: tar: heatshrink stream mode * toolbox: compress: docs & small cleanup * toolbox: tar: header support for .hs; updater: now uses .hs for resources; .hs.tar: now rewindable * toolbox: compress: fixed hs stream tail handling * updater: reworked progress for resources cleanup; rebalanced stage weights * updater: single-pass decompression; scripts: print resources compression ratio * updater: fixed warnings * toolbox: tar: doxygen * docs: update * docs: info or tarhs format; scripts: added standalone compression/decompression tool for heatshrink-formatted streams * scripts: tarhs: fixed parameter handling * cli: storage extract command; toolbox: tar: guess type based on extension * unit_tests: added test for streamed raw hs decompressor `compress_decode_streamed` * unit_tests: compress: added extraction test for .tar.hs * rpc: autodetect compressed archives * scripts: minor cleanup of common parts * scripts: update: now using in-memory intermediate tar stream * scripts: added hs.py wrapper for heatshrink-related ops (single object and directory-as-tar compression) * scripts: naming fixes * Toolbox: export compress_config_heatshrink_default as const symbol * Toolbox: fix various types naming * Toolbox: more of types naming fixes * Toolbox: use size_t in compress io callbacks and structures * UnitTests: update to match new compress API * Toolbox: proper path_extract_extension usage Co-authored-by: あく <alleteam@gmail.com>
Structure
debug
Applications for factory testing the Flipper.
accessor- Wiegand serverbattery_test_app- Battery debug appblink_test- LED blinkerbt_debug_app- BT test app. Requires full BT stack installeddisplay_test- Various display tests & tweaksfile_browser_test- Test UI for file pickerkeypad_test- Keypad testlfrfid_debug- LF RFID debug tooltext_box_test- UI testsuart_echo- UART mode testunit_tests- Unit testsusb_mouse- USB HID testusb_test- Other USB testsvibro_test- Vibro test
main
Applications for main Flipper menu.
archive- Archive and file managerbad_usb- Bad USB applicationgpio- GPIO application: includes USART bridge and GPIO controlibutton- iButton application, onewire keys and moreinfrared- Infrared application, controls your IR deviceslfrfid- LF RFID applicationnfc- NFC application, HF rfid, EMV and etcsubghz- SubGhz application, 433 fobs and etcu2f- U2F Application
services
Background services providing system APIs to applications.
-
applications.h- Firmware application list header -
bt- BLE service and application -
cli- Console service and API -
crypto- Crypto cli tools -
desktop- Desktop service -
dialogs- Dialogs service: GUI Dialogs for your app -
dolphin- Dolphin service and supplementary apps -
gui- GUI service and API -
input- Input service -
loader- Application loader service -
notification- Notification service -
power- Power service -
rpc- RPC service and API -
storage- Storage service, internal + sdcard
settings
Small applications providing configuration for basic firmware and its services.
about- Small About application that shows flipper infobt_settings_app- Bluetooth optionsdesktop_settings- Desktop configurationdolphin_passport- Dolphin passport appnotification_settings- LCD brightness, sound volume, etc configurationpower_settings_app- Basic power optionsstorage_settings- Storage settings appsystem- System settings
system
Utility apps not visible in other menus, plus few external apps pre-packaged with the firmware.
hid_app- BLE & USB HID remotejs_app- JS engine runnersnake_game- Snake gamestorage_move_to_sd- Data migration tool for internal storageupdater- Update service & application