Commit Graph

73 Commits

Author SHA1 Message Date
WillyJL
5d5fa5e9aa Merge branch 'feat/nfc-type-4-final' into mntm-dev 2025-10-06 01:32:15 +02:00
hedger
0d5beedb01 BLE: improved pairing security (#4240)
* ble: use unique root security keys for new pairings after pairing reset; added migrations for existing pairing data; unit_tests: added migration tests

* bt: lower logging level

* hal: bt: updated doxygen strings

* hal: ble: Added checks for root_keys ptr

* service: ble: bt_keys_storage minor cleanup
2025-09-24 22:36:45 +04:00
Willy-JL
49d7ce7349 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-04-12 10:36:13 +01:00
Eric Betts
4dd123fd8a BLE: Slightly increase mfg_data size (#4177)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-07 19:16:42 +04:00
Willy-JL
81581c79b5 Spring cleaning 2025-04-04 13:18:36 +01:00
Willy-JL
7f46fe5d5c Merge remote-tracking branch 'ofw/dev' into mntm-dev --nobuild 2025-04-03 06:19:15 +01:00
Eric Betts
5786066512 BLE advertising improvements (#4151)
* Support longer advertised BLE UUID

* BLE: support manufacturer data

* Don't pair when GapPairingNone

* Add PR feedback

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 22:37:40 +04:00
hedger
5fcaef25b0 Stricter constness for const data (#4126)
* libs: stricter constness for saving RAM with .rodata section; fbt: sdk: fixed signature generation for nested const params

* hal: additional fixes for constness in USB subsystem

* debug apps: additional usb-related fixes

* mjs: more consts for token parser

* fatfs: const driver struct

* hal: more consts for ble & nfc vars

* hal: made FuriHalSpiBusHandle static

* hal: made FuriHalI2cBusHandle static

* usb: restored previous api

* linter fixes

* API fixes
2025-03-31 19:23:32 +04:00
Willy-JL
2f376edd7d Merge remote-tracking branch 'ul/dev' into mntm-dev 2025-02-28 05:04:24 +00:00
MX
b38d239eb8 Merge remote-tracking branch 'OFW/hedger/more-constness' into dev [ci skip] 2025-02-24 21:18:11 +03:00
hedger
d7221f1b0d hal: more consts for ble & nfc vars 2025-02-22 18:39:52 +00:00
Willy-JL
72281d9666 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-18 16:25:29 +00:00
MX
0849aec661 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-18 00:50:48 +03:00
あく
3a42bf812d Furi, USB, BLE, Debug: various bug fixes and improvements (#4114)
* Furi, USB, BLE: extra stack space for some threads, small code cleanup.

* Furi: thread watermark check on exit, explicitly crash if built with LIB_DEBUG=1

* Debug: color logging in apps/furi gdb helper, check and show crash message in gdb console.
2025-02-17 22:16:14 +04:00
Willy-JL
f2011a446b Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-01-11 05:06:46 +00:00
MX
9c5341edb1 Merge remote-tracking branch 'OFW/dev' into dev 2024-12-23 15:56:12 +03:00
Astra
a02781b936 [FL-3920] Fix lost BadBLE keystrokes (#3993)
* WIP: fix lost BadBLE keystrokes
* Switch to semaphores for synchronization
* Move checking to the gap level
* Remove leftovers from hid_service
* Remove more leftovers from hid_service
* De-allocate the semaphore after use
* Change the timeout to account for unforeseen situation
* Update F18 API
* Fix naming and unbump api version
* Move away from semaphores
* Remove the left over include
* Ble: cleanup error handling in ble_gatt_characteristic_update
* Fix PVS warning

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-12-23 09:18:14 +09:00
Willy-JL
88dfe97a89 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-10-15 23:43:33 +01:00
MX
ce32463b3e Merge remote-tracking branch 'OFW/dev' into dev 2024-10-14 16:50:56 +03:00
あく
5190aace88 Furi: A Lot of Fixes (#3942)
- BT Service: cleanup code
- Dialog: correct release order in file browser
- Rpc: rollback to pre #3881 state
- Kernel: fix inverted behavior in furi_kernel_is_running
- Log: properly take mutex when kernel is not running
- Thread: rework tread control block scrubbing procedure, ensure that we don't do stupid things in idle task, add new priority for init task
- Timer: add control queue flush method, force flush on stop
- Furi: system init task now performs thread scrubbing
- BleGlue: add some extra checks
- FreeRTOSConfig: fix bunch of issues that were preventing configuration from being properly applied and cleanup
2024-10-14 14:39:09 +01: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
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
MX
57f3bce8e3 merge manually formatted stuff too 2024-07-16 01:01:17 +03: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
3923245d91 Random cleanup of remains from past times 2024-06-17 01:57:34 +02:00
MX
1afa3f7ef3 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-15 18:22:54 +03:00
Willy-JL
6fc958681e Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-14 00:13:54 +01:00
あく
b9966a50d9 Ble: new connection parameters negotiation scheme (#3644)
* Ble: new connection parameters negotiation scheme

* Ble: finer connection parameters negotiation flow

* Ble: naming and grammar

* gap: typo fix & field init

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-05-13 21:54:59 +04:00
MX
4422a03ae9 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-18 17:22:36 +03:00
Willy-JL
cd5c76cb0d Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-18 03:05:41 +01:00
WillyJL
12112e70bc BLE: Add GapPairingNone support (#3596)
* BLE: Add GapPairingNone support
* FuriHal: cleanup naming in ble gap, remove useless config options

Co-authored-by: あく <alleteam@gmail.com>
2024-04-18 10:26:58 +09:00
Willy-JL
5798446a09 BadKB: Choose BT Pairing security mode (YesNo, PIN Type, Pin Y/N) 2024-04-17 02:47:23 +01:00
Willy-JL
3b490d5d1f BLE: Allow bonding with GapPairingNone 2024-04-17 01:21:41 +01:00
MX
95da39ba88 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-09 20:33:52 +03:00
あく
88a6860913 Update radio stack to v1.19.0 (#3545)
* Update radio stack to v1.19.0
* Ble: set max connection interal same as min, kinda speedups everything
2024-04-09 16:01:55 +09:00
Willy-JL
bb25b6df6a Merge branch 'aku/copro_v1.19.0' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-09 03:00:53 +01:00
Aleksandr Kutuzov
6776bdae1d Ble: set max connection interal same as min, kinda speedups everything 2024-04-09 00:25:14 +09:00
あく
de510f56cb Merge branch 'dev' into aku/copro_v1.19.0 2024-04-08 15:53:24 +09:00
Willy-JL
f9d25fa047 Merge branch 'aku/copro_v1.19.0' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-04 20:06:07 +01:00
Willy-JL
514171d0c5 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-02 15:36:43 +01:00
MX
3ccb2956f3 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-02 17:02:56 +03:00
hedger
096a26b07d fbt: added -Wstrict-prototypes for main firmware (#3557)
* fbt: added -Wstrict-prototypes for main firmware (excludes extapps)
* unit_tests: fixed declarations using strict prototypes
* furi_hal: ble: changed gap stop log level to debug

Co-authored-by: あく <alleteam@gmail.com>
2024-04-02 02:02:45 +09:00
Aleksandr Kutuzov
4841f56a58 Update radio stack to v1.19.0 2024-03-27 21:05:01 +09:00
MX
585b7f963d Api Symbols: replace asserts with checks
merge ofw commit
2024-03-25 13:53:32 +03:00