Commit Graph

79 Commits

Author SHA1 Message Date
Willy-JL
4659c68eef Merge branch 'zlo/tlsf-and-a-temple-of-memcorrupt' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-16 21:49:35 +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
Sergei Gavrilov
e90dc38e4d TLSF memory allocator. Less free flash, moar free ram. (#3572)
* add tlsf as submodule
* libs: tlsf
* Furi: tlsf as allocator
* Furi: heap walker
* shmal fixshesh
* f18: tlsf
* PVS: ignore tlsf
* I like to moving
* merge upcoming changes
* memmgr: alloc aligned, realloc
* Furi: distinct name for auxiliary memory pool
* Furi: put idle and timer thread to mem2
* Furi: fix smal things in allocator
* Furi: remove aligned_free. Use free instead.
* aligned_malloc -> aligned_alloc
* aligned_alloc, parameters order
* aligned_alloc: check that alignment is correct
* unit test: malloc
* unit tests: realloc and test with memory fragmentation
* unit tests: aligned_alloc
* update api
* updater: properly read large update file

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-05-16 19:52:26 +01:00
あく
7c63bf7574 Revert "TLSF memory allocator. Less free flash, moar free ram. (#3572)" (#3651)
* Revert "TLSF memory allocator. Less free flash, moar free ram. (#3572)"

This reverts commit 1d17206e23.

* Fix PVS warnings

* github: logging for ticket number checks to stdout

* memgr: removed offending todo

---------

Co-authored-by: hedger <hedger@nanode.su>
2024-05-16 18:43:27 +04:00
Sergei Gavrilov
1d17206e23 TLSF memory allocator. Less free flash, moar free ram. (#3572)
* add tlsf as submodule
* libs: tlsf
* Furi: tlsf as allocator
* Furi: heap walker
* shmal fixshesh
* f18: tlsf
* PVS: ignore tlsf
* I like to moving
* merge upcoming changes
* memmgr: alloc aligned, realloc
* Furi: distinct name for auxiliary memory pool
* Furi: put idle and timer thread to mem2
* Furi: fix smal things in allocator
* Furi: remove aligned_free. Use free instead.
* aligned_malloc -> aligned_alloc
* aligned_alloc, parameters order
* aligned_alloc: check that alignment is correct
* unit test: malloc
* unit tests: realloc and test with memory fragmentation
* unit tests: aligned_alloc
* update api
* updater: properly read large update file

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-05-15 16:47:21 +01:00
Willy-JL
d81e72d0a6 Merge branch 'zlo/allocator-playground' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-09 22:15:50 +01:00
SG
3a4bff82f4 Furi: distinct name for auxiliary memory pool 2024-04-09 05:12:15 +03:00
SG
d6145356a4 Furi: heap walker 2024-04-04 23:58:54 +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
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
ef3cfea721 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2024-02-16 12:53:07 +00:00
hedger
60a9d7e6cf ble: profile rework (#3272)
* ble: profile rework, initial
* apps: hid: fix for pairing cleanup
* app: hid: select transport based on #define
* fixing PVS warnings
* ble: serial service: fixed uid naming
* bt service: on-demand dialog init; ble profiles: docs; battery svc: proper update
* Added shci_cmd_resp_wait/shci_cmd_resp_release impl with semaphore
* app: hid: separated transport code
* ble: fixed service init order for serial svc; moved hardfault check to ble_glue
* cli: ps: added thread prio to output, fixed heap display
* ble_glue: naming changes; separate thread for event processing;
* furi: added runtime stats; cli: added cpu% to `ps`
* cli: fixed thread time calculation
* furi: added getter for thread priority
* fixing pvs warnings
* hid profile: fixed naming
* more naming fixes
* hal: ble init small cleanup
* cleanup & draft beacon api
* f18: api sync
* apps: moved example_custom_font from debug to examples
* BLE extra beacon demo app
* naming fix
* UI fixes for demo app (wip)
* desktop, ble svc: added statusbar icon for beacon
* minor cleanup
* Minor cleanup & naming fixes
* api sync
* Removed stale header
* hal: added FURI_BLE_EXTRA_LOG for extra logging; comments & code cleanup
* naming & macro fixes
* quick fixes from review
* Eliminated stock svc_ctl
* cli: ps: removed runtime stats
* minor include fixes
* (void)
* naming fixes
* More naming fixes
* fbt: always build all libs
* fbt: explicitly globbing libs; dist: logging SDK path
* scripts: fixed lib path precedence
* hal: bt: profiles: naming changes, support for passing params to a profile; include cleanup
* ble: hid: added parameter processing for profile template
* api sync
* BLE HID: long name trim
* Removed unused check
* desktop: updated beacon status icon; ble: hid: cleaner device name management
* desktop: updated status icon

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2024-02-16 14:20:45 +07:00
Willy-JL
fe0ff08c52 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2024-02-15 22:48:18 +00:00
Leptopt1los
feb45f6645 FuriHalRtc refactor: new datetime lib (#3386)
* datetimelib created
* datetimelib unit tests added
* firmware fixes to new datetimelib
* typo fix
* merge artifacts fixed, datetimelib renamed to datetime

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-02-15 10:44:41 +07:00
Willy-JL
fe22543f19 Merge branch 'gsurkov/3764_expansion_control' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2024-02-09 16:16:13 +00:00
Nikolay Minaylov
b2a7bb0696 [FL-3672] CLI: cat command crash workaround (#3358)
* Cli input len limit, CDC EP type fix

Co-authored-by: あく <alleteam@gmail.com>
2024-02-09 15:59:24 +07:00
Willy-JL
5ad37cd49d Merge branch 'ofw-dev' into xfw-dev 2024-01-18 02:32:35 +00:00
あく
fc043da9c6 FuriHal: UART refactoring (#3211)
* FuriHal: UART refactoring
* ApiSymbols: add furi_record_destroy
* FuriHal: cleanup serial API, add logging configuration in RTC
* FuriHal: hide private part in _i header. Toolbox: cleanup value index. SystemSettings: logging device and baudrate.
* FuriHal: RTC logging method documentation
* Synchronize API Symbols
* Furi: mark HEAP_PRINT_DEBUG as broken
* FuriHal: furi_hal_serial, add custom IRQ func
* Fix PR review issues
* FuriHal: UART add reception DMA (#3220)
* FuriHal: add DMA serial rx mode
* usb_uart_bridge: switch to working with DMA
* Sync api symbol versions
* FuriHal: update serial docs and api
* FuriHal: Selial added similar API for simple reception mode as with DMA
* FuriHal: Update API target H18
* API: ver API H7
* FuriHal: Serial error processing
* FuriHal: fix furi_hal_serial set baudrate
* Sync api symbols
* FuriHal: cleanup serial isr and various flag handling procedures
* FuriHal: cleanup and simplify serial API
* Debug: update UART Echo serial related flags
* FuriHal: update serial API symbols naming
* FuriHalSerial: various improvements and PR review fixes
* FuriHal: proper ISR function signatures

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: SkorP <skorpionm@yandex.ru>
Co-authored-by: Skorpionm <85568270+Skorpionm@users.noreply.github.com>
2024-01-16 03:09:37 +04:00
あく
ccbb3a3498 [FL-3715] Update CLI MOTD (#3292)
* Add Carrier 42QG5A580SC

* Cli: update motd

---------

Co-authored-by: Gustavo de León <alfonso.gus.deleon@gmail.com>
2023-12-14 15:14:21 +04:00
Willy-JL
4b2cc53280 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev --nobuild 2023-09-16 19:28:54 +02:00
Willy-JL
8bdbdaa6f5 Tweak services orders
Same order but numbers match OFW
2023-08-29 00:49:15 +02:00
ClaraCrazy
b7c52f3adf Add tiddies to Flipper CLI 2023-08-05 01:24:26 +02:00
DerSkythe
500ca0758a Save hopping in last settings
- Save hopping state
- Add easy logging to SubGhzLastSettings
- Add to CLI alias 'l' for log command
- Fix misspelled names
2023-08-04 18:52:16 +04:00
Blaine Murphy
c268bf5ff6 Replaced stock MOTD with a customized one 2023-08-04 09:43:12 -04:00
Willy-JL
95f2640546 Rename more things for new repo link 2023-07-20 02:46:07 +01:00
Willy-JL
1c2436f68e Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-07-14 17:06:16 +02:00
MX
65bbaca380 Merge branch 'ofw-dev' into dev 2023-07-13 22:40:35 +03:00
Willy-JL
9d1987e661 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-07-13 20:08:56 +02:00
あく
b55d97f827 Desktop,Cli: add uptime info (#2874) 2023-07-13 21:02:08 +10:00
MX
4a2cae23ca Merge branch 'ofw-dev' into dev 2023-07-11 15:49:01 +03:00
Astra
8bccfd6fd8 [FL-3363] More descriptive error messages for the log command (#2835)
* More descriptive error messages for the log command
* Log level description improvements
* Log help changes

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-07-11 15:41:16 +04:00
Willy-JL
8a317a793c Fix services order 2023-06-01 01:41:09 +01:00
Willy-JL
8fa7d16c5f Merge branch 'ul-dev' into xfw-dev 2023-05-06 01:43:09 +01:00
Sergey Gavrilov
ac05387803 [FL-3270] Loader refactoring, part 1 (#2593)
* Loader: menu part
* Settings: remove unused loader api
* Desktop: get loader from record_open
* CLI: remove unneeded loader api
* gitignore: ignore .old files
* Loader: now really a service
* Loader: working service prototype
* Loader: cli, system start hooks
* CI/CD: make happy
* Loader: autorun
* Loader: lock and unlock
* Loader: rearrange code
* Gui, module menu: fix memleak
* Updater test: add timeout
* added update timeouts and max run duration
* Github: revert updater test workflow changes
* Loader: less missleading message in info cli command

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-04 17:46:00 +03:00
Sergey Gavrilov
a7d1ec03e8 [FL-3270] Loader refactoring, part 1 (#2593)
* Loader: menu part
* Settings: remove unused loader api
* Desktop: get loader from record_open
* CLI: remove unneeded loader api
* gitignore: ignore .old files
* Loader: now really a service
* Loader: working service prototype
* Loader: cli, system start hooks
* CI/CD: make happy
* Loader: autorun
* Loader: lock and unlock
* Loader: rearrange code
* Gui, module menu: fix memleak
* Updater test: add timeout
* added update timeouts and max run duration
* Github: revert updater test workflow changes
* Loader: less missleading message in info cli command

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-04 12:48:13 +09:00
jl1990
4fb63eb36b Code cleanup 2023-05-02 18:36:06 +02:00
Willy-JL
1609f3c500 Fix critical boot modes (dfu / recovery) 2023-04-13 02:14:03 +01:00
Willy-JL
aa51016553 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-03-28 22:48:12 +01:00
MX
ae3481ef6c Merge branch 'fz-dev' into dev 2023-03-28 22:44:35 +03:00
Sergey Gavrilov
8b2dfea925 Improved thread lifecycle (#2534)
* Core, Thread: mark thread to join from prvDeleteTCB
* USB HAL: move vars to MEM2
* Core, Thread: cleanup sources
* Cli: add magic delays on rx pipe error, prevent cli from consuming processor time
* Furi: update thread documentation

Co-authored-by: あく <alleteam@gmail.com>
2023-03-28 16:34:49 +09:00
Willy-JL
876229db51 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-03-04 02:55:19 +00:00
MX
f3ab4bc292 Merge branch 'fz-dev' into dev 2023-03-02 21:18:35 +03:00
Sergey Gavrilov
777a4d109d [FL-3055] Getter for application data path (#2181)
* Threads: application id
* Unit tests: appsdata getter test
* Unit tests: moar test cases for appsdata getter
* Unit tests: remove folders after test
* Storage: dir_is_exist, migrate, + unit_tests
* Plugins: migration
* Storage: common_exists, moar unit_tests 4 "common_migrate", "common_migrate" and "common_merge" bugfixes
* Storage: use FuriString for path handling
* Storage API: send caller thread id with path
* Storage: remove StorageType field in storage file list
* Storage: simplify processing
* Storage API: send caller thread id with path everywhere
* Storage: /app alias, unit tests and path creation
* Storage, path helper: remove unused
* Examples: app data example
* App plugins: use new VFS path
* Storage: file_info_is_dir
* Services: handle alias if the service accepts a path.
* App plugins: fixes
* Make PVS happy
* Storage: fix storage_merge_recursive
* Storage: rename process_aliases to resolve_path. Rename APPS_DATA to APP_DATA.
* Apps: use predefined macro instead of raw paths. Example Apps Data: README fixes.
* Storage: rename storage_common_resolve_path to storage_common_resolve_path_and_ensure_app_directory
* Api: fix version
* Storage: rename alias message
* Storage: do not create app folders in path resolving process in certain cases.

---------

Co-authored-by: Astra <93453568+Astrrra@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-02 03:57:27 +10:00
Willy-JL
fa8ed7f6e4 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware 2023-02-28 20:34:44 +00:00
MX
5b0c5a82c0 Merge branch 'fz-dev' into dev 2023-02-26 21:24:38 +03:00
あく
3efb7d4050 Updater: handle storage errors when removing files, fix folder remove routine, prevent unused services from starting (#2432)
* Updater: handle storage errors when removing files
* Updater: properly handle folder removal in post update cleanup stage. Prevent power, desktop and dolphin services from starting on update.
* Desktop, Dolphin, Power: proper handling and message for special boot mode.
* Desktop, Power: add missing TAG
* Updater: unify start skip message and fix double delete in backup worker
* Cli: unify special boot mode message
2023-02-27 00:15:26 +09:00
Astra
0c06e54831 [FL-3105] Unify power info, power debug, and device_info into one info command (#2393)
* Unify power info, power debug, and device_info into one info command
* Fix the storage script
* Cli: return device_info command for compatibility, rollback storage script
* Cli: remove unused context in info_get calls
* Cli: cleanup device info callbacks, switch to new separator

Co-authored-by: あく <alleteam@gmail.com>
2023-02-26 21:28:52 +09:00
MX
2b8f55322e Merge branch 'fz-dev' into dev 2023-02-26 05:51:58 +03:00