Commit Graph

581 Commits

Author SHA1 Message Date
WillyJL
aa6d4de9fe Asset Packs: Optimize icon loader (#164)
* Original pointer can be const

* Back to const icons

* Missed this one

* Simpler string alloc

* Single allocation and header struct for static icons

* Shared allocation and meta struct for animated icons

* Only try to load if dir exists

* Restructure momentum lib

* Use some internal headers

* Swap icons at draw

* Properly init and free, no more original in icon struct
2024-07-18 03:35:21 +01:00
Willy-JL
2eaf1ffc95 New formatting 2024-07-15 22:32:17 +01:00
Willy-JL
02f7207d28 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-15 22:18:35 +01:00
hedger
ffa3996a5e [FL-3867] Code formatting update (#3765)
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:38:49 +09:00
Willy-JL
ebca3024d9 GUI: Menu fix set_selected_item(), add get_selected_item() 2024-07-12 23:35:27 +01:00
Willy-JL
0f4f844ff1 Format for toolchain 37, update changelog 2024-07-05 20:07:11 +02:00
Willy-JL
4830ef94c6 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-05 20:01:29 +02:00
hedger
7879876ba1 [FL-3863] toolchain: v37 (#3746)
* toolchain: v36
* toolchain: fixed cert path; lib: nanopb: updated to 0.4.8
* fbtenv: rolled back cert path for 3.11
* clang-format: updated config for v18
* linter fixes
* clang-format: properly regenerated config (`clang-format -style=file:.clang-format -dump-config > .clang-format-new; mv .clang-format-new .clang-format`)
* clang-format: AllowShortLoopsOnASingleLine: false
* toolchain: v37
* fbt: compilation_db.py: fixes for Windows
2024-07-05 18:27:21 +01:00
Willy-JL
4c7b0f3863 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-07-04 14:40:01 +02:00
MX
842922f018 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-07-04 04:56:04 +03:00
Willy-JL
7ef699d9f6 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-07-04 00:08:00 +02:00
Silent
7e0849b44e Coalesce some allocations (#3747)
* View: Coalesce view model allocations
* SceneManager: Coalesce AppScene allocations
* BufferStream: Coalesce Buffer allocations
* ProtocolDict: Coalesce dict allocations
* DigitalSignal: Coalesce buffer allocations

Co-authored-by: あく <alleteam@gmail.com>
2024-07-03 12:56:13 +01:00
Willy-JL
06d8babfea Fix build 2024-07-02 17:11:44 +02:00
Willy-JL
6e15423299 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-24 19:10:23 +02:00
MX
115a8e5ea2 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-23 17:39:44 +03:00
Georgii Surkov
4cf98867a0 [FL-3847, FL-3513] Thread Signals (#3730)
* Add signal API
* Add signal support to loader
* Add signal support to ViewDispatcher
* Remove extra signal definitions
* Fix typos
  Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
* scripts: runfap: close current app pre-launch
* loader: enable backlight when starting an app
* scripts: removed distfap.py
* Do not expose signal API via ViewDispatcher
* scripts: runfap: iterative retry to launch
* Add a loader signal subcommand
* Furi, Gui: move signal handling from View Dispatcher to Event Loop

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-21 21:44:36 +01:00
Willy-JL
3923245d91 Random cleanup of remains from past times 2024-06-17 01:57:34 +02:00
MX
5d4ed946cb move part of the CLI to microsd to free up space for COMPACT 0 builds
CLI wrapper and idea by Willy-JL
2024-06-15 15:12:50 +03:00
Willy-JL
be99dd0e8d Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-14 01:26:35 +02:00
MX
ec747892c9 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-06-13 23:27:27 +03:00
あく
5a8a13639b [FL-3842] Desktop lockup fix, GUI improvements (#3710)
* Gui: increase ViewDispatcher messages queues size, improves event processing with blocking operations.
* Gui: fix log message text in view dispatcher, loosen some mutexes in view port
2024-06-14 02:47:43 +10:00
Willy-JL
a5c6bb6e08 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-11 23:09:37 +02:00
MX
181c59b30f Merge remote-tracking branch 'OFW/dev' into dev 2024-06-10 22:55:02 +03:00
あく
6d8b050eda [FL-3833] Furi: event loop (#3675)
* Furi: epoll prototype

* Gui: simplify view_dispatcher custom event processing

* Furi: add missing critical sections to epoll

* Furi: add epoll unit tests, fully implement level processing for in and out events

* Furi: properly trigger epoll item event on adding mq, update tests.

* Unit tests: cleanup defines

* Furi: protect epoll from modification in callback

* Furi: rename epoll into event_loop, cleanup api naming

* Sync API Symbols

* Furi: add event loop contract and link api, port mq to new api, cleanup code

* Format Sources

* Furi: cleanup mq and event loop code

* Furi: remove unused staff from message queue

* ApiSymbols: remove event loop from public APIs.

* Fix furi unit tests

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-06-10 20:53:08 +03:00
あく
0bc400a3ae Code Cleanup: unused includes, useless checks, unused variables, etc... (#3696)
* Remove unnecessary checks
* Sublime: never insert missing headers
* Cleanup furi defines use
* Cleanup startup. Cleanup linker scripts. Explicitly define all interrupts hadlers, including uninmplemented one.
* Startup routine in C
* Drop assembler startup
* Move linker defines to stm32wb55_linker.h, cleanup naming, unify usage. Mpu: protect last 32b of main stack. Document various obscure things.
* Move furi_hal_switch documentation to appropriate place, use 0x0 for updater jump.
* UnitTests: move all temporary test files into tmp folder

---------

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-06-11 03:04:29 +10:00
MX
8dad9468d5 fix deprecated 2024-06-06 01:34:35 +03:00
MX
17dbb4105d Merge remote-tracking branch 'OFW/dev' into dev 2024-06-06 00:35:40 +03:00
Willy-JL
23da827361 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-04 03:03:23 +01:00
hedger
03196fa110 cleanup of various warnings from clangd (#3682)
* cleanup of various warnings from clangs
* lfrfid_debug: cast fixes
* subghz: binraw: round->roundf
* furi: thread: updated internal stack size variable to size_t
* github: fail faster on unsuccessful build
* unit_tests: double trouble
2024-06-03 14:43:23 +01:00
MX
8a58fc1ca7 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-23 00:33:57 +03:00
gornekich
11070c9e5e Text Box: fix displaying text with end text focus (#3658)
* text box: fix reset text offset state after initial text iteration
* debug: add tests for text box view debug app
* hal: flash: removed redundant #else

Co-authored-by: hedger <hedger@nanode.su>
2024-05-22 18:14:33 +01:00
gornekich
a95742694c text box: fix reset text offset state after initial text iteration 2024-05-22 04:06:44 +01:00
Willy-JL
26bfaf9817 Merge fixes 2024-05-21 04:56:21 +01:00
Willy-JL
d9f55d110d Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-21 04:56:03 +01:00
MX
6a91588f52 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-21 01:34:05 +03:00
hedger
9e42e00ead Icons: compression fixes & larger dimension support (#3564)
* toolbox, gui: fixes for compressed icon handling
* ufbt: fixes for generated vscode project
* scripts: increased max dimensions for image converter
* icon type changes
* linter fixes; api sync
* gui: docs fix
* toolbox: fixed potential decoder buffer overflow
* minor cleanup
* fbt: sdk: suppressed deprecation warnings in API table
* toolbox: compress: added unit tests
   vscode: now installs resources for unit_tests
   unit_tests: now loads subghz region data
* toolbox: compress: review fixes, pt 1
* compress: now passes decoder buffer size as constructor argument; auto-resize decoder buffer; crash on failed icon decompression
* PVS fixes
* pvs fixes, pt2
* doxygen fixes
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* UnitTests: move all tests into plugins, brakes testing
* UnitTests: add plugin API and update plugin entrypoints
* UniTests: Test runner that works with plugins
* fbt: extra filtering for extapps to include in build
* UnitTests: filter tests by name
* loader: restored API table for unit_test build config
* Add various missing symbols to API table
* UnitTest: fail on plugin load error
* UnitTests: cleanup plugin api and reporting
* unit_tests: composite resolver
* UnitTests: remove unused declaration
* unit_tests, nfc: moved mock nfc implementation to libnfc
* unit_tests: api: removed redundant #define
* toolbox: compress: removed size_hint for icons; triggering furi_check on oversized icons
* gui: icon, icon_animation: removed size hit APIs
* Format Sources. Cleanup code.
* loader: refuse to start .fal as app
* toolbox: compress: fixed memory corruption in operations with small destination buffer; added unit tests for that case
* unit_tests: proper test skipping; better selective test interface
* unit_tests: moved 'loading' logging to proper location

Co-authored-by: あく <alleteam@gmail.com>
2024-05-20 18:23:47 +01:00
gornekich
d5339f8270 [FL-3816] Text Box rework (#3642)
* text box: rework text box to use less memory
* text box: optimize lines iteration
* text box: fix back scrolling
* text box: add end focus support
* text box: allocate index buffer on stack instead of heap
* text box: fix index decrement
* apps: add text box debug app
* debug: rework text box view app with view stack
* debug app: rename text_box_test app to text_box_element_test
* text box: rework text box module
* debug: update text box view test
* text box: fix end focus initial offset
* debug: fix memory leak in text box view test app

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-05-20 16:13:20 +01:00
Willy-JL
8d71b40a43 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-19 02:49:10 +01:00
MX
fb6070f29d Merge remote-tracking branch 'OFW/dev' into dev 2024-05-19 03:45:07 +03:00
WillyJL
de4b086083 Fix calling both view_free_model() and view_free() (#3655) 2024-05-18 19:40:01 +01:00
Willy-JL
7135b021cd Enforce "show hidden files" in dialogs and not archive
Archive "file" tabs (like SubGHz and so on) hide dot files
Archive "browser" tabs (like /ext) follow user choice
Dialogs (everything else) follow dev choice, unless user chose to show hidden files
2024-05-17 08:08:05 +01:00
Willy-JL
54d2763177 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-16 21:47:58 +01:00
MX
7c5111e29f Merge remote-tracking branch 'OFW/dev' into dev 2024-05-16 23:37:03 +03:00
WillyJL
63403bbae2 JS: Add submenu module (#3601)
* JS: Add submenu module
* Using view_holder instead of view_dispatcher

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-05-16 18:55:08 +01:00
Willy-JL
b628af1060 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev --nobuild 2024-05-16 05:39:30 +01:00
MX
fb8f59fa1d fix merge issues 2024-05-15 19:04:37 +03:00
MX
548d370ab9 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-15 18:25:03 +03:00
MX
1afa3f7ef3 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-15 18:22:54 +03:00
Willy-JL
bdeb0351f7 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-05-15 03:31:31 +01:00
Astra
e3f95a326b [FL-3797] Settings menu refactoring (#3632)
* Settings menu refactoring
* Update F18 api
* Wording changes
* Update certification icon
* Desktop: optimize settings save routine, fix navigation lag
* Gui: add submenu position getter. Desktop: proper menu index preservation.
* Gui: proper index getter for submenu. Desktop: cleaner settings navigation.

Co-authored-by: あく <alleteam@gmail.com>
2024-05-14 19:58:09 +01:00