Commit Graph

553 Commits

Author SHA1 Message Date
Willy-JL
a5c6bb6e08 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-11 23:09:37 +02: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
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
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
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
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
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
Willy-JL
a1b62fd9f3 Gui: Update elements API 2024-05-03 10:55:14 +01:00
Willy-JL
87ab59d505 Gui: Cleanup submenu/varitemlist code for PR to OFW 2024-04-30 05:48:31 +01:00
Matthew
e9dc55c70b Rework MNTM menu, fix Long Dolphin Name, add Battery Charge %, add Ext 5v Indicator (#105) 2024-04-22 02:51:11 +01:00
MX
f88a916ccc Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-04-21 11:42:57 +03:00
Willy-JL
e3cc377b56 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-19 22:40:41 +01:00
WillyJL
9bef2aaec6 GUI: Fix array out of bounds in menu exit (#3604)
* GUI: Fix array out of bounds in menu exit
* Gui: fix incorrect empty menu handling
* Gui: add missing item check in menu ok handling
* Gui: remove dead code from menu module

Co-authored-by: あく <alleteam@gmail.com>
2024-04-19 23:10:48 +09:00
Willy-JL
a2fc553bef Temp fix menu edge case crash in esubghz chat 2024-04-19 08:28:40 +01:00
MMX
00970a4b12 Allow setting view_dispatcher callbacks to NULL again (#3580)
Co-authored-by: あく <alleteam@gmail.com>
2024-04-18 09:34:33 +09:00
Willy-JL
6608b89626 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-04-11 03:33:57 +01:00
MX
6bb605f8ce Allow setting view dispatcher callbacks to NULL 2024-04-11 01:20:39 +03:00
MX
e436ea275a Merge remote-tracking branch 'OFW/dev' into dev 2024-03-29 14:05:07 +03:00
Willy-JL
cf2534ea5d Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-29 04:17:01 +00:00
Willy-JL
9fd3f70636 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-29 03:55:30 +00:00
Georgii Surkov
64bd2f9c84 [FL-3677, FL-3798] RFID Improvements (#3524)
* Update saved_info and read_success scenes
* Update EM4100 rendering
* Update HIDExt rendering
* Update Gallagher rendering
* Update HidProx rendering
* Update IOProx rendering
* Update H10301 rendering
* Update PAC/Stanley rendering
* Add strcasecmp() to API, better manufacturer/name handling
* Update Viking rendering
* Update FDX-A rendering
* Update Pyramid rendering
* Update Indala26 rendering
* Update Idteck rendering
* Update Keri rendering
* Update Nexwatch rendering
* Update Jablotron rendering
* Update Paradox rendering
* Truncate long Hex string on scene_read_suceess
* Fix formatting
* Update AWID rendering
* Update FDX-B rendering
* Tweak string formatting in various screens
* More read_success view tweaks
* Fix formatting
* Fix Pyramid brief rendering
* Reset saved key menu when going back
* Reset other menus on back where applicable
* Update confirmation scenes
* Update emulation scene
* Update delete scene
* Update raw read info screen
* Update raw read scene, fix crash
* Update raw read success scene
* Update write scene
* Always return to SceneSelectKey after saving
* Update SceneWriteSuccess and SceneDeleteSuccess
* Replace closing parens with dots
* FL-3798: Fix special formatting in text_box
* Simplify SceneReadSuccess
* Fix crash when having a trailing newline in text_box
* Bump API symbols version
* Make PVS happy
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2024-03-29 12:32:43 +09:00
MX
7c0939ad52 Merge remote-tracking branch 'OFW/dev' into dev 2024-03-25 14:23:44 +03:00
MX
01f3192957 post merge fix 2024-03-25 14:08:51 +03:00
MX
9961dadee7 Gui: unicode support, new canvas API
merge ofw commit
2024-03-25 14:04:07 +03:00
MX
585b7f963d Api Symbols: replace asserts with checks
merge ofw commit
2024-03-25 13:53:32 +03:00
WillyJL
c52f28efa4 GUI: Fix textbox overflow/crash/hang with 256+ lines (#3536)
* GUI: Fix textbox overflow/crash/hang with 256+ lines
* GUI: Textbox calculate lines based on font height
* Gui: proper types in text_box

Co-authored-by: あく <alleteam@gmail.com>
2024-03-25 15:28:20 +09:00
MX
385c3c1c01 Sync textbox changes with OFW PR 3536
by Willy-JL
https://github.com/flipperdevices/flipperzero-firmware/pull/3536/files
2024-03-23 23:32:47 +03:00
WillyJL
0a48658a9a GUI: Fix elements module for new canvas API (#3527)
* GUI: Fix elements module for new canvas API
* Update symbols
* Update f18 symbols
* Gui: update elements for new canvas

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-03-23 14:54:01 +09:00
Willy-JL
fe80cb08e1 Merge branch 'gui-elements-fix' of https://github.com/Willy-JL/flipperzero-firmware into mntm-dev 2024-03-22 21:10:32 +00:00
MX
6d73b266d5 Fixes for text box and uart echo
thanks Willy-JL !
2024-03-22 22:47:24 +03:00
Willy-JL
c7d18804da Proper fix for textbox UART hang/crash
THANK YOU @0xchocolate
2024-03-22 19:19:55 +00:00
Aleksandr Kutuzov
2e9855972e Gui: update elements for new canvas 2024-03-22 18:54:37 +09:00
Willy-JL
04ecef4048 Temp fix for UART text box BusFault?
Attempts to fix BusFault with huge amount of fast data
Still have weird hangs in some cases with huge amounts of data
But this fixes crashes atleast
Weird thing is that these hangs are not full, CLI keeps working for a few seconds
2024-03-22 06:11:16 +00:00
Willy-JL
513c6b8732 Enforce "show hidden files" in browser worker 2024-03-21 03:03:15 +00:00
Willy-JL
d610e20060 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-21 02:07:27 +00:00