Commit Graph

112 Commits

Author SHA1 Message Date
Willy-JL
02d642745d Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-04-19 04:44:58 +01:00
Anna Antonenko
5b911f5405 RC fixes (#4192)
* cli_shell: fix FL-3983

* fix formatting and submodules

* loader: fix FL-3986

* fix submodules

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-18 16:41:13 +04:00
Willy-JL
c2dbdb5dd5 Loader: Fix event edge cases, fixes Apps hang 2025-04-15 04:05:52 +01:00
Willy-JL
f7da27f62c Loader: Share ViewHolder / Loading with LoaderMenu --nobuild 2025-04-13 02:37:04 +01:00
Willy-JL
49d7ce7349 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-04-12 10:36:13 +01:00
Anna Antonenko
096c088bf1 vcp, cli: Handle Tx/Rx events before Connect/Disconnect + extra fixes (#4181)
* cli_vcp: handle tx/rx before connext/disconnect

* cli_vcp: disable trace

* cli_perf: advanced error reporting

* cli_vcp: reset tx flag directly in event handler

* fix formatting

* cli_vcp: make tx flag volatile

* storage_settings: fix scene ids

* cli_shell: add safety check to set_prompt

* cli_registry: move from bptree to dict, fix memory leak

* cli_vcp: go back to message queue for event signaling

* loader: move BeforeLoad event even earlier

* fix formatting
2025-04-11 14:53:10 +04:00
Anna Antonenko
6b5d006690 [FL-3953] Application chaining (#4105)
* feat: app chaining

* add `launch_current_app_after_deferred`, remove `get_referring_application`

* fix naming

* new api

* fix f18

* fix deferred launches after errors

* fix: memory leak

* Updater: MIN_GAP_PAGES = 0

* loader: loader_get_application_launch_path doc

* loader: fix freeze

* loader: reject mlib, reduce code size

* loader: generic synchronous call, reduce size

* loader: reject furi_string, reduce size

* apps: debug: removed order field from manifests since it is no longer meaningful

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-05 20:22:05 +04:00
Willy-JL
6f8cb3b6c4 Improve clarity of some error messages 2024-11-10 04:36:21 +00:00
WillyJL
5eb5d75046 FBT/SDK: New app flag UnloadAssetPacks to free RAM (#260)
* Store app flags in FAP header

* Add app flag to UnloadAssetPacks to free RAM

* Unload asset packs in NFC and MFKey

* Clearer size units

* Update changelog

* Future proof logic

* Sync apps
2024-11-07 06:36:59 +01:00
Willy-JL
ef5a2aa2c7 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-10-09 02:47:29 +01:00
Silent
5b36c5465d FuriThread: Improve state callbacks (#3881)
State callbacks assumed they were invoked from the thread that changed
its state, but this wasn't true for FuriThreadStateStarting in the past,
and now it's not true for FuriThreadStateStopped either.

Now it is safe to release the thread memory form the state callback
once it switches to FuriThreadStateStopped. Therefore, pending deletion
calls can be removed.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-10-08 20:50:31 +01:00
Willy-JL
e282d8050f Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-09-09 23:20:14 +02:00
Silent
8c2223df5d Threading, Timers improvements (#3865)
* FuriTimer: Use a local variable to wait for deletion

This combines the current synchronous behaviour
(as we could have deferred the free call too) with
a smaller FuriTimer - it's safe to pass a pointer to
a local variable to this pending timer call, because we
know it'll be finished before the caller returns

* Tighten the use of FuriThread* vs FuriThreadId

Event loop and Loader mixed those two,
but the fact those are aliases should be an implementation detail.
For this reason, thread.c is still allowed to mix them freely.
2024-09-07 19:18:51 +01:00
WillyJL
6a1c27ef93 Loader: Warn about missing SD card for main apps (#3875)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 10:43:07 +01:00
Willy-JL
3e3ce725ab Loader: Warn about missing SD card for main apps --nobuild 2024-09-05 18:04:54 +02:00
WillyJL
b67544391a Main Menu: Unload when opening apps (#161)
* Detached close event

* Consistency

* Unload main menu when opening apps

* Refactor LoaderMenu with ViewHolder

* Show loading icon

* Remember selected items after reloading menu

* Consistency

* Similar code structure to ofw

* Load/unload custom app list with main menu

* Fix momentum app for new mainmenu logic
2024-07-18 03:33:49 +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
a797814df3 Remove old unused error formatting 2024-07-13 23:53:17 +01: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
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
be06bd0aa7 Format --nobuild 2024-06-17 22:13:43 +02:00
Willy-JL
5634b2bf1f Show API Mismatch if load fail on different API
Possible outcomes now:
- Same API + (Pre)load Fail: Failed message with info (eg MissingImports)
- Different API + Load Ok: Ask to continue
- Different API + Load Fail: Unskippable API mismatch error (instead of MissingImports or other)
2024-06-17 21:57:44 +02:00
Willy-JL
0cecb6d57b Change error message for MissingImports
Either app or firmware could be outdated, usually app
2024-06-17 21:49:27 +02:00
Willy-JL
7d4f36e51a Merge fixes 2024-06-17 21:48:29 +02:00
Willy-JL
ea63af1863 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-17 21:47:13 +02:00
Sergei Gavrilov
d8ef0991fb ELF, Flipper application: do not crash on "out of memory" (#3664)
* ELF, Flipper application: do not crash on "out of memory"
* loader: better error messages
* typo
* fix position
* Loader: QR code for common errors
* NFC: error message
* Loader: error descriptions
2024-06-17 16:40:47 +01:00
Sergei Gavrilov
730026c87a [FL-3844] Loader: fix crash on "locked via cli loader" (#3706) 2024-06-13 12:38:24 +01:00
Willy-JL
b7e0839574 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-06-13 00:50:37 +02:00
SG
4f6aff4bd1 Loader: fix crash on locked via cli loader 2024-06-12 19:55:42 +03:00
Willy-JL
f34dbf4fc1 Main Menu: Fix crash with DEBUG=1 with custom apps 2024-05-29 03:11:06 +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
Willy-JL
ff8210ba27 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-09 21:58:48 +01:00
MX
95da39ba88 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-09 20:33:52 +03:00
Victor Nikitchuk
db14ca964b Status output !TX/RX on the GDO2 CC1101 pin (#3571)
* Status output !TX/RX on the GDO2 CC1101 pin\
* Fix PVS warnings

Co-authored-by: あく <alleteam@gmail.com>
2024-04-10 00:05:30 +09:00
WillyJL
e3ca293eee Desktop/Loader: Unload animations before loading FAPs (#3573)
* Desktop: Unload animations before FAP is loaded
* Loader: Add API to start detached (returns instantly, queues event)
* Desktop: Fix early animation unload deadlocks
* Loader: remove redundant event
* Bump api symbols

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-04-09 22:42:03 +09:00
MX
294df5d1d4 desktop animations unload apilock revert
+ js layout fix and lfrfid ui fix
by Willy-JL
2024-04-06 05:40:53 +03:00
Willy-JL
b831161a8f Merge branch 'unload-anim-before-fap' of https://github.com/Willy-JL/flipperzero-firmware into mntm-dev 2024-04-06 00:15:52 +01:00
Willy-JL
ef72f81581 Loader: Add API to start detached (returns instantly, queues event) 2024-04-06 00:01:00 +01:00
Willy-JL
a95519ea86 Desktop: Unload animations before FAP is loaded 2024-04-05 23:50:26 +01:00
Willy-JL
fb8d6d54a3 Fix --no-build 2024-04-05 22:16:34 +01:00
Willy-JL
d03da435cf Merge branch 'unload-anim-before-fap' of https://github.com/Willy-JL/flipperzero-firmware into mntm-dev 2024-04-05 22:13:04 +01:00
Willy-JL
8e57a4f089 Fix build and cleanup 2024-04-05 22:00:34 +01:00
Willy-JL
092f529ed5 Loader: Add API to start app detached (returns instantly, queues app start) 2024-04-05 21:34:24 +01:00
Willy-JL
c82593525f Desktop: Unload animations before FAP is loaded 2024-04-05 21:23:34 +01:00
MX
ef29ed149d better subghz settings and more anim unload fixes
by Willy-JL
2024-04-05 06:36:35 +03:00
Willy-JL
15e578599e Desktop: Unload animations before FAP is loaded 2024-04-05 01:48:01 +01:00
Willy-JL
edabaf0607 Loader: Fix some differences from OFW 2024-04-05 01:10:02 +01:00