Commit Graph

158 Commits

Author SHA1 Message Date
Willy-JL 2f376edd7d Merge remote-tracking branch 'ul/dev' into mntm-dev 2025-02-28 05:04:24 +00:00
Willy-JL bd2ee18e48 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-28 02:03:45 +00:00
MX aef8a97ab4 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-20 18:40:54 +03:00
Astra 2817666eb9 [FL-3774] Fix 5V on GPIO (#4103)
* Move OTG controls to the power service
* Accessor: add missing power service import
* Power: add is_otg_enabled to info and properly handle OTG enable with VBUS voltage present
* Power: method naming
* Power: add backward compatibility with old-style use of furi_hal_power
* Scripts: lower MIN_GAP_PAGES to 1
* SubGhz: fix incorrect logging tag
* SubGhz: delegate OTG management to power service
* Power: fix condition race, various improvements

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-20 12:37:52 +09:00
MX 45529e76e9 fix 2025-02-13 04:13:00 +03:00
Willy-JL 8553132b71 Merge remote-tracking branch 'ul/dev' into mntm-dev 2025-02-05 01:57:25 +00:00
Dmitry422 3029f0d6d6 Litle bit mistakes cleanup. 2025-02-04 00:53:28 +07:00
Dmitry422 724c4ca445 SafeCharging (charging supress) finished. 2025-02-04 00:42:52 +07:00
Dmitry422 cce8a7c413 Begin work with SafeCharging (charging supress) 2025-02-03 19:18:53 +07:00
Dmitry422 eef2441af9 InputSettings complete. Added VibroTouchLevel 2025-02-02 14:57:41 +07:00
Dmitry422 a5f62f756a Begin work with Input_service settings (edit,save) for vibro_touch option 2025-01-31 19:25:52 +07:00
Dmitry422 fbc29f519f Disable autopoweroff if charger connected. 2025-01-17 13:01:38 +07:00
MX 633f5d7c57 fbt format and naming fix 2025-01-15 17:23:38 +03:00
Dmitry422 818a47085e fix errors 2025-01-15 18:37:35 +07:00
Dmitry422 cf50875c5c *POWER*
- serice:
    renamed function and variable
- settings:
    add test value 5 sec for auto_power_off timer

*DESKTOP*
- settings|service
    add USB_inhibit for desktop_auto_lock
    (dont autolock desktop with different condition)
    PS. RPC condition now working now.
2025-01-15 01:33:49 +07:00
Dmitry422 c73495767c Auto_poweroff option moved from desktop to power.
Add settings for power service (load|save).
2025-01-14 02:01:54 +07:00
WillyJL 2e7eedf291 CLI: More commands as plugins on SD -6KB DFU, refactor plugin wrapper, (#276)
* Unused icons to check later

* Exclude disabled icons from firmware

* Format

* CLI: Test moving more cmds to plugins

* CLI: Macro template for plugin wrapper

* Fix plugin filenames

* Retrofit older cli wrappers

* Fix unused

* Fix manifests

* Add explanation

* Revert "Unused icons to check later"

This reverts commit b7f98e344c.

* Revert "Exclude disabled icons from firmware"

This reverts commit ab62e99898.

* Add back toplevel chat command

* Add DFU size to github comment

* Fix build

* Fix BT CLI preload fail

* Add these back

* Fix CLI command gpio preload fail

* Fix input command

* These can stay

* Fix negative size rounding

* Update changelog

* Fix DFU size calc
2024-11-04 09:42:25 +01:00
MX 04c8093672 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-31 21:17:01 +03:00
Willy-JL a010a9e933 Merge commit 'e4c82708242b25a9af4d2695dd72f4eef44631eb' into mntm-dev 2024-10-31 16:40:46 +00:00
Skorpionm 6d823835df FurEventLoop: add support for FuriEventFlag, simplify API (#3958)
* Core: event_flag, removing duplicate code
* event_loop: add support furi_event_flags
* Examples: add missing free in event loop examples
* Furi: fix event flag
* Sync api symbols
* Unit_test: evet_loop_event_flags
* Fix multiple waiting list elements handling
* Unit_test: add event_loop_event_flag test
* FURI: event_loop add restrictions
* Fix multiple waiting lists items for good
* Improve FuriEventLoop unit tests
* Abolish callback return value
* Remove return value from callback signature
* Use bool level value instead of int32_t
* Add unit tests for FuriStreamBuffer
* Add unit tests for FuriSemaphore
* Speed up test execution
* Improve docs
* Add a stub for furi os-level primitives
* Add more checks for edge cases
* Allow event loop notification from ISR
* Bump api version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-10-31 10:58:16 +09:00
Luu eef9c42be7 Power: Suppress Shutdown on Idle While Charging / Plugged In (#244)
* Update power.c

* Update power.c

Co-authored-by: WillyJL <49810075+Willy-JL@users.noreply.github.com>

* Update power.c

Co-authored-by: WillyJL <49810075+Willy-JL@users.noreply.github.com>

* Format

* Also restart timer when plugged in but fully charged

avoids the 'it is now safe to unplug cable' screen

* Update changelog

---------

Co-authored-by: WillyJL <49810075+Willy-JL@users.noreply.github.com>
2024-10-08 06:17:05 +02:00
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
MX 6c0dadad3f after merge fixes 2024-08-10 14:42:11 +03:00
MX bf6c6c231f [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-10 14:32:27 +03:00
MX 1e5dd001fe after merge fixes 2024-08-10 14:22:33 +03: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
MX e74e6cdd02 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-31 22:38:15 +03: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
MX 726cb770d0 formatting 2024-07-15 20:02:45 +03: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
MX 17dbb4105d Merge remote-tracking branch 'OFW/dev' into dev 2024-06-06 00:35:40 +03: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
MX 585b7f963d Api Symbols: replace asserts with checks
merge ofw commit
2024-03-25 13:53:32 +03: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