Commit Graph

384 Commits

Author SHA1 Message Date
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
10bc24145e Fixes for -Wundef and iButton ID 2024-07-31 23:36:25 +02:00
Willy-JL
262bbe0809 Merge remote-tracking branch 'ofw/dev' into mntm-dev --nobuild 2024-07-18 20:21:35 +01:00
Astra
4258db3888 [FL-3752] HID/BLE Keyboard UI refactoring (#3777)
* HID app new keyboard WIP
* Shift logic for special cases
* Fix apostrophe button
* Satisfy PVS
* Review changes
* Fix shift text
* Satisfy PVS

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-07-18 16:13:53 +09: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
22fd786abf JS: Fix repeats for multi-packet protocols 2024-07-09 16:23:20 +01:00
あく
aeabf0447d [FL-3704] Updater: reset various debug flags on production build flash (#3762) 2024-07-07 13:00:39 +01:00
Willy-JL
49a63bf10b JS: Improve and fix subghz module
- Fix some memory leaks
- Check for setup() being called
- Add end(), can setup() again to check for external module
- Add support for custom modulation presets
- Improve error handling
- Deinit correctly at exit
- Fix RAW files
- Fix repeat behavior, can specify with transmitFile(path, repeat)
2024-07-06 03:13:18 +02:00
Willy-JL
0f4f844ff1 Format for toolchain 37, update changelog 2024-07-05 20:07:11 +02:00
Willy-JL
4830ef94c6 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-05 20:01:29 +02:00
hedger
7879876ba1 [FL-3863] toolchain: v37 (#3746)
* toolchain: v36
* toolchain: fixed cert path; lib: nanopb: updated to 0.4.8
* fbtenv: rolled back cert path for 3.11
* clang-format: updated config for v18
* linter fixes
* clang-format: properly regenerated config (`clang-format -style=file:.clang-format -dump-config > .clang-format-new; mv .clang-format-new .clang-format`)
* clang-format: AllowShortLoopsOnASingleLine: false
* toolchain: v37
* fbt: compilation_db.py: fixes for Windows
2024-07-05 18:27:21 +01:00
WillyJL
b18ac01485 Updater: Gzip resources dejavu, refactor for CompressStreamDecoder API (#152)
* Add back uzlib

* FBT: Support different resources compress methods

* Tar: Detect gzip compress type

* Tar: Generic compressed stream refactor

* Compress: Shared config params

* Fix comment

* Compress: Scaffolding for gzip implementation

* Compress: Handle errors from allocation

* Compress: Gzip support implementation

* Tar/Compress: Don't rewind if already at stream cursor

* Update changelog
2024-07-03 02:26:59 +02:00
Willy-JL
1cd18f61a2 Updater: Smooth percent for cleanup steps --nobuild 2024-07-03 02:05:13 +02:00
WillyJL
bf90843f25 Updater: Fix double dir cleanup (#3743) 2024-07-02 11:54:28 +04:00
Willy-JL
c858015836 Updater: Fix double dir cleanup --nobuild 2024-07-02 04:09:40 +02:00
Willy-JL
1014e45c22 Updater: Progressbar even with huge files --nobuild 2024-07-02 00:39:48 +02:00
Willy-JL
2d2b0f8201 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-07-01 23:01:37 +02:00
Willy-JL
9b41168e85 Revert gzip resources (OFW made heatshrink equivalent)
- a83845aec4
- 9b748ea792
2024-07-01 22:33:32 +02:00
hedger
fcbcb6b5a8 Updater: resource compression (#3716)
* toolbox: compress: moved decompressor implementation to separate func
* toolbox: compress: callback-based api; cli: storage unpack command
* toolbox: compress: separate r/w contexts for stream api
* targets: f18: sync API
* compress: naming fixes & cleanup
* toolbox: compress: using hs buffer size for stream buffers
* toolbox: tar: heatshrink stream mode
* toolbox: compress: docs & small cleanup
* toolbox: tar: header support for .hs; updater: now uses .hs for resources; .hs.tar: now rewindable
* toolbox: compress: fixed hs stream tail handling
* updater: reworked progress for resources cleanup; rebalanced stage weights
* updater: single-pass decompression; scripts: print resources compression ratio
* updater: fixed warnings
* toolbox: tar: doxygen
* docs: update
* docs: info or tarhs format; scripts: added standalone compression/decompression tool for heatshrink-formatted streams
* scripts: tarhs: fixed parameter handling
* cli: storage extract command; toolbox: tar: guess type based on extension
* unit_tests: added test for streamed raw hs decompressor `compress_decode_streamed`
* unit_tests: compress: added extraction test for .tar.hs
* rpc: autodetect compressed archives
* scripts: minor cleanup of common parts
* scripts: update: now using in-memory intermediate tar stream
* scripts: added hs.py wrapper for heatshrink-related ops (single object and directory-as-tar compression)
* scripts: naming fixes
* Toolbox: export compress_config_heatshrink_default as const symbol
* Toolbox: fix various types naming
* Toolbox: more of types naming fixes
* Toolbox: use size_t in compress io callbacks and structures
* UnitTests: update to match new compress API
* Toolbox: proper path_extract_extension usage

Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 11:38:48 +01:00
Willy-JL
2c9303401c JS: Refactor keyboard with ViewHolder
Based on submenu refactor by nminaylov
2024-06-26 03:12:48 +02:00
Willy-JL
99a394b1d1 JS: Refactor widget with ViewHolder, fix crash
Based on textbox refactor by nminaylov
2024-06-26 03:12:14 +02:00
Willy-JL
fa9593a611 FindMy: Add missing string free (fix #150) 2024-06-25 02:58:53 +02:00
Willy-JL
1dc40552f6 CLI: Simpler plugin wrapper 2024-06-14 02:39:50 +02:00
Derek Jamison
b3e100967c JS: Add ADC (analog voltage) support to gpio library (#143)
* JS: Add ADC (analog voltage) support to gpio library

* JS: readAnalog crashes if script doesn't call analogStart first.

* Use same start/stop convention as other js modules

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-06-12 02:00:47 +01:00
あく
0bc400a3ae Code Cleanup: unused includes, useless checks, unused variables, etc... (#3696)
* Remove unnecessary checks
* Sublime: never insert missing headers
* Cleanup furi defines use
* Cleanup startup. Cleanup linker scripts. Explicitly define all interrupts hadlers, including uninmplemented one.
* Startup routine in C
* Drop assembler startup
* Move linker defines to stm32wb55_linker.h, cleanup naming, unify usage. Mpu: protect last 32b of main stack. Document various obscure things.
* Move furi_hal_switch documentation to appropriate place, use 0x0 for updater jump.
* UnitTests: move all temporary test files into tmp folder

---------

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-06-11 03:04:29 +10: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
あく
3f04d6dd46 Furi: wrap message queue in container, prepare it for epoll. Accessor: disable expansion service on start. (#3672)
* Furi: wrap message queue in container, prepare it for epoll. Accessor: disable expansion service on start.
* Furi: one allocation, smaller message queue struct, type compatibility with FreeRTOS.
2024-05-30 12:58:03 +01:00
Willy-JL
02291d9d3b Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-05-19 03:49:20 +01:00
MX
e909818f65 fix stealth jiggler icon with ble 2024-05-19 04:53:30 +03:00
MMX
e4ed15ba23 Merge pull request #753 from Willy-JL/hid-app-merge-fix
Hid app merge fix
2024-05-19 04:50:29 +03:00
MX
8275140fe6 rename 2024-05-19 03:57:19 +03:00
MX
4f6c98dc0d move js examples to examples subfolder 2024-05-19 03:56:22 +03:00
MX
21abcb56fd merge ofw dev missing parts 2024-05-19 03:54:21 +03:00
MX
fb6070f29d Merge remote-tracking branch 'OFW/dev' into dev 2024-05-19 03:45:07 +03:00
Willy-JL
7c013c0534 HID App: Add few missing things from last merge 2024-05-18 08:31:36 +01:00
Willy-JL
23ca7e7b48 Some formatting to match upstream 2024-05-18 08:28:45 +01:00
Willy-JL
c4709a5b6b HID App: Update icons 2024-05-18 08:26:36 +01:00
Willy-JL
276feac73f HID App: Update to scene based startscreen 2024-05-18 08:24:29 +01:00
Willy-JL
98903b8f10 Fix USB/BT Remote Mouse Clicker merge 2024-05-18 08:15:07 +01:00
Willy-JL
3a82c94e28 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-05-18 05:46:15 +01:00
WillyJL
0d456aa550 JS: Add textbox module (#3597)
* JS: Add textbox module
* Using view_holder instead of view_dispatcher, more checks in js_textbox_show
* API version sync
* Rename emptyText() to clearText()
* Keeping view_holder allocated for thread sefety
* Js: proper comparision with 0 in js_math_sign
* Js: add comments and fix condition race in textbox

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2024-05-17 18:43:52 +01:00
WillyJL
c673b53e21 JS: Add math module (#3598)
* JS: Add math module
* Double constants
* Error on argument type mismatch
* Fix missing returns
* Using sin, exp from c library
* asin, acos, pow, sqrt too
* Js: tests for math module and various fixes.

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2024-05-17 17:45:40 +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
MX
7c5111e29f Merge remote-tracking branch 'OFW/dev' into dev 2024-05-16 23:37:03 +03:00
WillyJL
63403bbae2 JS: Add submenu module (#3601)
* JS: Add submenu module
* Using view_holder instead of view_dispatcher

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-05-16 18:55:08 +01:00
Willy-JL
becefe9568 Format 2024-05-16 05:53:19 +01:00