Commit Graph

129 Commits

Author SHA1 Message Date
Willy-JL
574304f715 Final merge fixes 2024-08-14 02:01:04 +02:00
Willy-JL
1a1b3f117a Merge Power service refactor, rework power settings
- Merge OFW power service refactor stuff
- Move charge cap variable to service
- Mirror settings usage of desktop and bt services for power settings
- Proper power settings struct, no more weird settings pubsub
- Load power settings on SD insert
- Set shutdown on idle time in main power settings menu, not in submenu
- Update battery icon visibility in power tick event
- Remove unused power functions (power_trigger_ui_update(), power_set_battery_icon_enabled())
2024-08-13 21:32:46 +02:00
Willy-JL
5f98c5d986 Merge remote-tracking branch 'ofw/dev' into yeet-lfs 2024-08-13 02:27:09 +02:00
Willy-JL
cf5846979f Migrate files for int on ext, no more .config 2024-08-11 01:56:00 +02:00
Willy-JL
de940394c9 Fix most build errors 2024-08-10 05:32:18 +02:00
Willy-JL
6acfd65697 Cleanup API symbols
Services expose same sdk_headers as OFW
Since settings apps use some of those symbols, need to include them
Workaround is mock imports by #include the .c code
Not ideal, but we only need access to basic load/save functions, and these apps are bundled with firmware anyway, so should be fine
Not exposing via API and instead bundling via FAP also means less flash used, and RAM is not a concern with settings apps
2024-08-10 03:01:40 +02:00
Georgii Surkov
f4122a924a [FL-3841] FuriEventLoop Pt.2 (#3703)
* Abstract primitive type from main logic in FuriEventLoop
* Remove message_queue_i.h
* Add stream buffer support for event loop
* Add semaphore support for event loop
* Add temporary unit test workaround
* Make the linter happy
* Add mutex support for event loop
* Implement event subscription and unsubscription while the event loop is running
* Implement edge events
* Fix leftover logical errors
* Add event loop timer example application
* Implement flag-based edge trigger and one-shot mode
* Add event loop mutex example application
* Only notify the event loop if stream buffer is at or above its trigger level
* Reformat comments
* Add event loop stream buffer example application
* Add event loop multiple elements example application
* Improve event loop flag names
* Remove redundant signal handler as it is already handled by the event loop
* Refactor Power service, improve ViewHolder
* Use ViewHolder instead of ViewDispatcher in About app
* Enable ViewDispatcher queue on construction, deprecate view_dispatcher_enable_queue()
* Remove all invocations of view_dispatcher_enable_queue()
* Remove app-scened-template
* Remove missing library from target.json
* Port Accessor app to ViewHolder
* Make the linter happy
* Add example_view_holder application, update ViewHolder docs
* Add example_view_dispatcher application, update ViewDispatcher docs
* Replace FuriSemaphore with FuriApiLock, remove workaround delay
* Fix logical error
* Fix another logical error
* Use the sources directive to speed up compilation
* Use constant define macro
* Improve FuriEventLoop documentation
* Improve FuriEventLoop documentation once more
* Bump API Version
* Gui: remove redundant checks from ViewDispatcher
* Gui: remove dead ifs from ViewDispatcher

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-08-07 12:49:41 +09:00
Willy-JL
882eb1b779 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-29 01:04:08 +02:00
Liam Hays
a403e5f543 Fix typo in "charge me" screen. (#3812) 2024-07-28 23:21:56 +03: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
1dc40552f6 CLI: Simpler plugin wrapper 2024-06-14 02:39:50 +02:00
Willy-JL
a035132f01 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-06 00:44:31 +01:00
Georgii Surkov
20c4121f25 [FL-3832] Use static synchronisation primitives (#3679)
* Use static mutex
* Add static_assert checks
* Use static semaphore
* Fix formatting
* Use static stream buffer
* Use static timer
* Use static event group
* Increase allocation size for stream buffer
* Remove recursive bit from the mutex before freeing
* Prevent service tasks from ever returning
* Use static threads
* Do not realloc memory when changing stack size
* Use FuriSemaphore instead of raw FreeRTOS one in rpc_test
* Remove redundant includes
* Abolish FreeRTOS dynamic allocation
* Improve FuriMutex
* Improve FuriMessageQueue
* Remove redundant comments and parentheses
* Clean up code more
* Create service threads via a dedicated constructor
* Minor code improvements
* Update docs for FuriThread, FuriTimer
* Fix doxygen typo
* Use a bigger buffer for static StreamBuffer
* Furi: remove timer control block only when timer thread have completed all operations
---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-05 18:04:03 +01: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
Willy-JL
e57bf55dc8 Show "unplug usb cable" even when locked 2024-05-20 04:47:48 +01:00
Willy-JL
01c55c7b7e Fix build 2024-04-09 22:09:46 +01: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
Willy-JL
06aea09169 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-20 04:18:26 +00:00
あく
acc39a4bc0 Api Symbols: replace asserts with checks (#3507)
* Api Symbols: replace asserts with checks
* Api Symbols: replace asserts with checks part 2
* Update no args function signatures with void, to help compiler to track incorrect usage
* More unavoidable void
* Update PVS config and code to make it happy
* Format sources
* nfc: fix checks
* dead code cleanup & include fixes

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-03-19 23:43:52 +09:00
Willy-JL
197fef54e2 (Experimental) External CLI plugins -29kb DFU
Idea and plugin loader implementation by @akopachov, thanks!
All commands done except storage and rpc for latency reasons
2024-03-16 03:47:32 +00:00
Willy-JL
b7220237de Small bump in the road
- Update assets and references for new project
- Revert DFU image and CLI motd
- Remove NSFW text and flag
- Remove credits animation (will be replaced with a setting menu soon)
- New EvilPortal example HTML and better error message
- Initial standalone naming for asset packs and mainmenu apps
- File migration fixes/improvements
- Remove hotfix workflow
2024-03-01 06:11:16 +00:00
Willy-JL
acc352e61f Make settings menus external -21.7kb DFU 2024-02-14 04:36:48 +00:00
Willy-JL
3406f005c4 Inhibit auto lock/shutdown on ASCII input 2024-01-17 22:43:36 +00:00
Willy-JL
0a55300926 Fix xtreme lib import 2023-12-02 06:32:04 +00:00
Willy-JL
28bcc09d9b This can just be made global at this point lol 2023-10-26 04:03:42 +01:00
あく
f218c41d83 Undo some TODO (#3024)
* TODO FL-3497: impossible to fix with current memory allocator

* TODO FL-3497: removed, requires radically different settings approach

* TODO FL-3514: removed, yes we should

* TODO FL-3498: implemented, guarding view port access with mutex.

* TODO FL-3515: removed, questionable but ok

* TODO FL-3510: removed, comment added

* TODO FL-3500: refactored, store pin numbers in GpioPinRecord, fix gpio app crash caused by incorrect gpio_pins traversal.

* Format Sources

* TODO FL-3505: removed, mutex alone is not going to fix issue with WPAN architecture

* TODO FL-3506: removed, change ownership by copy is good

* TODO FL-3519: documentation and link to source added

* Lib: remove unneded total sum from comment in bq27220

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-09-01 05:54:52 +04:00
Willy-JL
d7aa3ea60f Make all service memory structures OFW comaptible 2023-08-29 01:57:06 +02:00
Willy-JL
8bdbdaa6f5 Tweak services orders
Same order but numbers match OFW
2023-08-29 00:49:15 +02:00
Astra
e353433cd8 [FL-3488] Assign tickets to all TODO items (#2988)
Co-authored-by: あく <alleteam@gmail.com>
2023-08-23 02:56:27 +09:00
Willy-JL
806d7379b2 Fix power svc double record open 2023-07-23 19:59:13 +02:00
Willy-JL
8d16b0e8f5 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2023-07-18 17:17:34 +01:00
あく
76e97b8d35 [FL-3051] Gauge initialization routine refactoring, new DataMemory layout, configuration update (#2887)
* FuriHal: refactor power gauge config

* Format sources and move gauge DM load to separate method

* FuriHal: bq27220 refactoring part 1

* Power: use SYSDWN battery status flag for system shutdown

* Libs: bq27220 read DM before write, fix incorrect shift

* FuriHal: cleanup gauge config, add flags, add ptr DM type, update symbols

* FuriHal: 2 stage gauge DM verification and update, better detection routine

* FuriHal: update gauge configuration, lower sleep current and deadband

* FuriHal: gauge and charger health reporting

* Lib: cleanup bq27220 sources

* FuriHal: correct documentation for furi_hal_power_is_shutdown_requested

* FuriHal: proper gauge config for f7
2023-07-18 14:46:38 +04:00
Willy-JL
2e7d074c0c Remove xtreme/private.h and rewire some things 2023-07-06 01:28:28 +02:00
Willy-JL
cca787b96d Dont save setting files on load fail 2023-06-07 20:35:45 +01:00
Willy-JL
f01b68e1e0 Allow desktop clock with no battery icon 2023-06-05 01:08:55 +01:00
Willy-JL
8a317a793c Fix services order 2023-06-01 01:41:09 +01:00
Willy-JL
014a30d8bf Fix xtreme settings values handling 2023-05-31 18:14:30 +01:00
Willy-JL
a3b4defa44 Revert "Revert "Feature: Custom user set charging cap (#265)""
This reverts commit 31f624d662.
2023-05-31 17:33:05 +01:00
ClaraCrazy
31f624d662 Revert "Feature: Custom user set charging cap (#265)"
This reverts commit 557cc73a1d, reversing
changes made to 32fad4af8d.
2023-05-29 15:42:02 +02:00
Willy-JL
11c443b79a Shorter charge cap var name (for format) 2023-05-28 20:42:11 +01:00
John
8becdc66e7 Feature: Custom user set charging cap 2023-05-28 21:12:00 +02:00
Willy-JL
decce5aa8d Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-05-26 19:33:56 +01:00
MX
1e5a8f4391 Merge branch 'ofw-dev' into dev 2023-05-24 07:16:05 +03:00
あく
3217f286f0 Services: remove deallocator for persistent services (#2692)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-05-23 19:17:12 +04:00
Willy-JL
d91f70b837 Move config file migration to flipper init 2023-05-10 23:36:03 +01:00
Willy-JL
a6bc7f8abb Rework xtreme settings and assets implementation 2023-05-01 15:28:59 +01:00
Willy-JL
a5cddc076e Merge branch 'ul-dev' into xfw-dev 2023-04-23 17:48:05 +01:00