Commit Graph

1514 Commits

Author SHA1 Message Date
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
a797814df3 Remove old unused error formatting 2024-07-13 23:53:17 +01:00
Willy-JL
ebca3024d9 GUI: Menu fix set_selected_item(), add get_selected_item() 2024-07-12 23:35:27 +01:00
Willy-JL
b6831863fc Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-09 23:31:37 +01:00
あく
075381b7c6 [FL-3870] Desktop: allow to close blocking bad sd animation (#3776)
* Desktop: allow to close blocking bad sd animation
* Desktop: pack booleans
2024-07-10 01:56:38 +04:00
Willy-JL
9f03cdb721 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-07-06 19:44:49 +02:00
あく
cf0cc4fa8d Furi: count ISR time. Cli: show ISR time in top. (#3751)
* Furi: count ISR time. Cli: show ISR time in top.
* hal: interrupt: macros for interrupt accounting; split FURI_ALWAYS_STATIC_INLINE -> FURI_ALWAYS_INLINE static

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-07-06 11:44:25 +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
6e0115c2e1 input_srv: Put input state data on the stack of the service (#3748)
* input_srv: Put input state data on the stack of the service
* input_srv: Use post-increment on the global counter

Co-authored-by: あく <alleteam@gmail.com>
2024-07-03 13:09:37 +01: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
0099e8dea7 MNTM: Update butthurt timer setting for eventloop timers 2024-07-02 17:03:43 +02:00
Willy-JL
f4ab4b634f Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-07-02 17:03:14 +02:00
MX
3dfd907245 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-02 16:25:34 +03:00
Georgii Surkov
139660d206 [FL-3846] Event Loop Timers (#3721)
* Implement POC event loop tmers (not all edge cases are handled)
* Use a separate ready list to allow for (re)starting and stopping of timers from callback
* Improve the test application
* Improve timer API and test application
* Improve timeout calculation logic
* Improve timer API, update documentation
* Fix API usage error
* Update doxygen comments
* Revert the old (correct) check
* Improve function naming
* Check whether a timer was on the expired list before processing it
* Implement tick callback
* Add critical sections to improve timer consistency
* Simplify event loop timer API
* Remove redundant search
* Refactor timer logic, use message queue
* Simplify FuriEventLoopTimer API
* Improve event loop timer logic
* Update the f18 target
* Remove superfluous clears
* Correct f18 api symbols
* Fix doxygen comments
* Update .pvsconfig
* Use a double push list instead of deque
* Update .pvsconfig
* Add pending callback functionality
* Restore unprocessed flags when applicable
* Refactor Dolphin app to use FuriEventLoop
* Improve naming
* Update naming some more
* Fix a typo Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
* Fix wait time in example
* Bump API version
* Debug: multiple of 25 timings in event loop blink test
* Separate FuriEventLoopTimer to its own set of files
* Improve start time calculation for periodic timers
* Do not use dynamic allocations for timer requests
* Split the tick functionality in separate files, rearrange code
* Improve timer queue handling
* Properly reset GPIO pins in the test app
* Properly initialise GPIO pins in the test app too
* Furi: variable naming in event loop
* Furi: fix spelling in event loop

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
2024-07-02 13:09:50 +01:00
Willy-JL
2d2b0f8201 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-07-01 23:01:37 +02:00
MX
0812cd30b2 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-01 22:18:36 +03:00
hedger
14b37a68b2 cli: storage: minor subcommand lookup refactor (#3739)
Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 19:20:12 +01:00
hedger
fcbcb6b5a8 Updater: resource compression (#3716)
* 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>
2024-06-30 11:38:48 +01:00
MX
a91a4af053 Merge remote-tracking branch 'OFW/dev' into dev 2024-06-27 04:36:00 +03:00
Willy-JL
56ba3b3fb8 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild
IR univeral not merged as commands are all already present here
2024-06-25 19:16:11 +02:00
WillyJL
ecf38cd30a RPC: Fix input lockup on disconnect (#3732)
* RPC: Fix input lockup on disconnect
* Rpc: minor GUI module cleanup

Co-authored-by: あく <alleteam@gmail.com>
2024-06-25 14:26:36 +01:00
Willy-JL
f6c59a9e76 RPC: Fix input lockup on disconnect 2024-06-25 00:25: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
MX
b8bd0b9f3e better message for api mismatch
by Willy-JL
2024-06-22 02:11:11 +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
MX
990d80e5b9 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-06-17 23:59:15 +03: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
Willy-JL
7ffcf97acb Revert TLSF 2024-06-17 02:41:13 +02: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
1dc40552f6 CLI: Simpler plugin wrapper 2024-06-14 02:39:50 +02: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
あく
ca8517a1b0 Cli: top (#3707)
* Cli: top command to replace ps. Furi: ThreadList and thread enumeration routine.
* Sync API Symbols
* Cli: cleanup top output, add memory section. Furi: thread enumeration code cleanup. Fix doxygen and make pvs happy.
* Furi: iterator in thread_list instead of M_EACH, fix memory leak
* Update documentation
* Cli: customizable refres interval for top command
* Furi: add consistentency into float declaration in thread list
* FreeRTOSConfig: remove invalid comment

Co-authored-by: Sergei Gavrilov <who.just.the.doctor@gmail.com>
2024-06-13 18:07:13 +01: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
Sergei Gavrilov
730026c87a [FL-3844] Loader: fix crash on "locked via cli loader" (#3706) 2024-06-13 12:38:24 +01:00