Commit Graph

499 Commits

Author SHA1 Message Date
Willy-JL
8b8d3b2833 Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-09-27 01:48:29 +01:00
MX
e407c623e0 Revert "Merge remote-tracking branch 'OFW/portasynthinca3/3332-autolock-fixes' into dev"
This reverts commit ba4c4e528a, reversing
changes made to 16e4b9219a.
2024-09-26 21:58:50 +03:00
Willy-JL
62ce89e41e Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-09-24 05:47:20 +01:00
MX
ba4c4e528a Merge remote-tracking branch 'OFW/portasynthinca3/3332-autolock-fixes' into dev 2024-09-21 03:54:08 +03:00
Anna Antonenko
1a9aca2d8c fix: always autolock if pin set 2024-09-16 17:11:31 +03:00
Anna Antonenko
15b271bd92 fix: cli autolock inhibit 2024-09-16 16:27:24 +03:00
MX
6911ba12ad Merge remote-tracking branch 'OFW/dev' into dev 2024-09-07 22:31:11 +03:00
Willy-JL
2b5b6543d6 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-09-07 19:14:22 +02:00
Silent
8672a1d94c Replace all calls to strncpy with strlcpy, use strdup more, expose strlcat (#3866)
strlcpy doesn't zero the buffer and ensures null termination,
just like snprintf

strlcat is already used by mjs and it's a safe alternative to strcat,
so it should be OK to expose to apps
2024-09-07 17:16:56 +01:00
Willy-JL
cb0798cdc3 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-09-06 23:09:48 +02:00
Willy-JL
5901fa4844 Add explanation 2024-09-06 18:29:47 +02:00
MX
2927e211a7 Merge remote-tracking branch 'OFW/dev' into dev 2024-09-06 12:40:06 +03:00
WillyJL
4fd76524c9 Desktop: Sanity check PIN length for good measure (#3879)
* Desktop: Sanity check PIN length for good measure
* Desktop: replace hardcoded values with macros in desktop_view_pin_input.c

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 10:33:17 +01:00
Willy-JL
f438199c4a Desktop: Poweroff fallback when app unavailable (#208) 2024-09-06 04:42:25 +02:00
Willy-JL
dd7cd8f487 Desktop: Fix PIN locked with no PIN set edge case 2024-09-02 00:45:59 +02:00
Willy-JL
9a1372435e Desktop: Sanity check PIN length for good measure 2024-09-02 00:43:47 +02:00
Willy-JL
e7267108c5 Desktop: Fix disabling keybinds
Turns out, flipper format does not allow empty value strings
2024-08-27 00:44:57 +02:00
Willy-JL
5c817a1cb4 Desktop: Fix unset keybinds 2024-08-24 03:11:50 +02:00
Willy-JL
131416971d Settings: Reload desktop keybinds without realloc 2024-08-24 03:06:31 +02:00
Willy-JL
d87a45f78d Desktop: Fix weird crash on levelup confirm 2024-08-24 03:02:21 +02:00
Willy-JL
574304f715 Final merge fixes 2024-08-14 02:01:04 +02:00
Willy-JL
5f98c5d986 Merge remote-tracking branch 'ofw/dev' into yeet-lfs 2024-08-13 02:27:09 +02:00
MX
f6ebc13342 Merge remote-tracking branch 'OFW/dev' into dev 2024-08-12 12:41:59 +03:00
あく
702db8925f Desktop: seaprate callbacks for dolphin and storage subscriptions (#3836)
* Desktop: seaprate callbacks for dolphin and storage subscriptions
* dolphin: renamed local variable to prevent unintended overrides

Co-authored-by: hedger <hedger@nanode.su>
2024-08-12 09:51:43 +09:00
Willy-JL
b96b6dd197 Fix keypad lock when pin is set 2024-08-11 03:45:25 +02:00
Willy-JL
3169f102b8 Fix stealth mode toggle icon 2024-08-11 03:07:17 +02:00
Willy-JL
0ccc9c077f Don't save settings on load, only on edit 2024-08-11 02:30:45 +02:00
Willy-JL
6f7b330ad8 Fix keybinds pointer shenanigans 2024-08-11 01:56:06 +02:00
Willy-JL
cf5846979f Migrate files for int on ext, no more .config 2024-08-11 01:56:00 +02: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
MX
28272f7a7a Storage: remove LFS (#3577)
* Storage: drop internal storage

* Storage: rollback some unnecessary changes

* Storage: rollback some unnecessary changes part 2

* Storage: cleanup various defines and int handling. Ble: allow short connection interval if internal flash is not used.

* Storage: do not return storage if it is not ready

* Save PIN code to RTC, update settings

* Simplify the code, clean up includes

* Rearrange some code

* apps: storage_move_to_sd: conditionally enable with --extra-define=STORAGE_INT_ON_LFS

* Load Desktop settings automatically

* Redirect /any to /ext

* Abolish storage_move_to_sd app

* Remove as many mentions of ANY_PATH as possible

* Fix desktop settings wrongly not loading

* Improve desktop settings handling and strings

* Load BLE settings and keys automatically

* Improve BLE configuration procedure

* Do not load bluetooth keys twice if they were already loaded

* Load dolphin state automatically

* Fix merge artifact

* Load notification settings automatically

* Update desktop settings strings

* Load expansion settings automatically

* Do not use thread signals to reload desktop settings

* Load region data automatically, separate to its own hook

* Improve ble behaviour with no keys

* Fix Dolphin state not resetting correctly

* Add a status check

* Make Desktop save its own settings

* Check result when taking and releasing mutex

* Improve default thread signal handling in FuriEventLoop

* Make bt service in charge of saving settings, add settings api

* Fix a deadlock due to timer thread not receiving time

* Lock core2 when reinitialising bt

* Update clang-format

* Revert "Update clang-format"

This reverts commit d61295ac063c6ec879375ceeab54d6ff2c90a9a1.

* Format sources with clang-format

* Revert old stack size for desktop settings

* Allocate big struct dynamically

* Simplify PIN comparison

* Save pointer to storage in Desktop object

* Fix region provisioning for hardware regions

* Remove stale TODO + siimplify code

* Clean up region.c

* Use sizeof instead of macro define

* Limit PIN length to 10 for consistency

* Emit a warning upon usage of /any

* Add delay after finding flipper

* Remove unnecessary delay

* Remove all mentions of STORAGE_INT_ON_LFS

* Remove littlefs and internal storage

* Remove all possible LittleFS mentions

* Fix browser tab in Archive

* Ble: fix connection interval explanation

* Bump API Symbols

* BLE: Update comments interval connection comments

* Storage: clear FuriHalRtcFlagStorageFormatInternal if set

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-08-10 13:18:51 +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
Willy-JL
b430f82e44 Fix some desktop keybinds oversights 2024-08-10 02:56:19 +02:00
Willy-JL
2b77091cac Desktop settings merge and refactor, keybinds improvements
- Keybinds in own code helper files
- Keybinds as flipper format, loaded only when ran, no limit on length
- Migrate from old keybinds
- Merge desktop settings refactors after LFS removal PR
- Statusbar clock setting in desktop settings like OFW
- Hand orient setting in system settings like OFW
2024-08-08 05:18:20 +02:00
Willy-JL
7905b829cf Merge desktop service changes, refactor some old code 2024-08-08 00:40:32 +02:00
Willy-JL
1225b7319c Reimplement exponential PIN code timeout post-merge 2024-08-07 20:53:15 +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
083c17f09d Revert some settings handling to how they work in OFW 2024-08-07 02:15:39 +02:00
Willy-JL
b8a6579379 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-08-05 20:05:13 +02:00
あく
4d985ba8f8 Storage: remove LFS (#3577)
* Storage: drop internal storage

* Storage: rollback some unnecessary changes

* Storage: rollback some unnecessary changes part 2

* Storage: cleanup various defines and int handling. Ble: allow short connection interval if internal flash is not used.

* Storage: do not return storage if it is not ready

* Save PIN code to RTC, update settings

* Simplify the code, clean up includes

* Rearrange some code

* apps: storage_move_to_sd: conditionally enable with --extra-define=STORAGE_INT_ON_LFS

* Load Desktop settings automatically

* Redirect /any to /ext

* Abolish storage_move_to_sd app

* Remove as many mentions of ANY_PATH as possible

* Fix desktop settings wrongly not loading

* Improve desktop settings handling and strings

* Load BLE settings and keys automatically

* Improve BLE configuration procedure

* Do not load bluetooth keys twice if they were already loaded

* Load dolphin state automatically

* Fix merge artifact

* Load notification settings automatically

* Update desktop settings strings

* Load expansion settings automatically

* Do not use thread signals to reload desktop settings

* Load region data automatically, separate to its own hook

* Improve ble behaviour with no keys

* Fix Dolphin state not resetting correctly

* Add a status check

* Make Desktop save its own settings

* Check result when taking and releasing mutex

* Improve default thread signal handling in FuriEventLoop

* Make bt service in charge of saving settings, add settings api

* Fix a deadlock due to timer thread not receiving time

* Lock core2 when reinitialising bt

* Update clang-format

* Revert "Update clang-format"

This reverts commit d61295ac063c6ec879375ceeab54d6ff2c90a9a1.

* Format sources with clang-format

* Revert old stack size for desktop settings

* Allocate big struct dynamically

* Simplify PIN comparison

* Save pointer to storage in Desktop object

* Fix region provisioning for hardware regions

* Remove stale TODO + siimplify code

* Clean up region.c

* Use sizeof instead of macro define

* Limit PIN length to 10 for consistency

* Emit a warning upon usage of /any

* Add delay after finding flipper

* Remove unnecessary delay

* Remove all mentions of STORAGE_INT_ON_LFS

* Remove littlefs and internal storage

* Remove all possible LittleFS mentions

* Fix browser tab in Archive

* Ble: fix connection interval explanation

* Bump API Symbols

* BLE: Update comments interval connection comments

* Storage: clear FuriHalRtcFlagStorageFormatInternal if set

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-08-04 10:54:02 +01:00
Willy-JL
b4c24e6e4b Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-31 23:06:48 +02:00
MX
e74e6cdd02 Merge remote-tracking branch 'OFW/dev' into dev 2024-07-31 22:38:15 +03:00
hedger
380ec2ac46 Added -Wundef to compiler options (#3815)
* fbt: added -Wundef to compiler options; libs: various small fixes for missing defines; desktop: proper access to current RTOS config
* apps: fixes for FURI_DEBUG handling
* rpc: unified definition checks
* Cleanup various defines use
* Cleanup configs and move SVCall ISR priority configuration to furi_hal_interrupts

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-08-01 01:38:20 +09:00
Willy-JL
33896ef98f Fix vscode's fumbled merge conflicts 2024-07-15 23:08:42 +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
b6831863fc Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-09 23:31:37 +01:00