Commit Graph

384 Commits

Author SHA1 Message Date
MX
8bb3092002
Revert BLE gatt characteristics refactoring temporarily 2023-06-14 03:19:18 +03:00
MX
f7195adbda
OFW PR 2756 2023-06-10 06:01:23 +03:00
MX
1a6b2010ba
Merge pull request #509 from gid9798/byte_input_mini_editor
Byte input add feature: editor without keyboard
2023-06-09 18:52:44 +03:00
MX
e9fc5f62a5
Merge branch 'ofw-dev' into dev 2023-06-09 14:13:11 +03:00
Sergey Gavrilov
0e4344a83c
Services: simplify api (#2540)
Co-authored-by: あく <alleteam@gmail.com>
2023-06-09 20:02:47 +09:00
MX
18220515b5
Merge branch 'ofw-dev' into dev 2023-06-08 14:58:46 +03:00
gid9798
ce25d6339e Byte input add feature: editor without keyboard 2023-06-08 13:53:29 +03:00
hedger
e3e64e5e83
[FL-3267] ble: refactored bt gatt characteristics setup (#2587)
* ble: refactored bt gatt characteristics setup
* ble: naming fixes, small optimizations
* ble: expanded bitfields; fixed pvs warnings
* ble: fixed pvs warnings for real
* ble: using FlipperGattCharacteristicDataPropsFixed for char[] props
* ble: removed flipper_gatt_characteristic_props_const_char
* ble: gatt: naming changes
* ble: gatt: fixed device_info service constant attrs sizes
* ble: gatt: copy descriptors to char instances; reworked hid chars to be callback-based; moved max size getter to callback with NULL data; added comments
* ble: gatt: removed hid_svc_report_data_callback
* ble: hid svc: better double loop idx naming
* ble: hid svc: simplified hid_svc_update_info
* ble: gatt: removed magic values; fixed type for HidSvcGattCharacteristicInfo
* ble: gatt: moved long uuids to separate files

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-06-08 18:42:02 +09:00
MX
0d394a6f87
Merge branch 'ofw-dev' into dev 2023-06-07 00:29:06 +03:00
あく
76c70bdf2c
[FL-3316] Settings: add contrast adjustment (#2737)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 21:46:01 +04:00
MX
e990e58177
change butthurt timer 2023-06-02 22:55:05 +03:00
MX
ca49da3c83
Fix APP_IDs to match new regex
regex check will be added in OFW soon
2023-06-02 13:42:44 +03:00
gid9798
b17125c65c Desktop Clock: some improvements 2023-05-29 17:54:01 +03:00
MX
04f9811c6e
Fix crash when renaming files with long file name 2023-05-29 14:17:50 +03:00
MX
a11b6e72dc
Update changelog and readme
+ some small fixes
2023-05-28 03:53:54 +03:00
MX
12f9b6a89e
Apply desktop favourite apps refactoring 2023-05-26 13:13:46 +03:00
MX
36102b8ee0
Merge branch 'ofw-dev' into dev 2023-05-26 12:03:49 +03:00
Yukai Li
77bb997b0b
desktop: Refactor favorites settings and allow app browser in selection (#2687)
* desktop: Refactor favorites settings and allow app browser in selection
* desktop: Gate app browser entry add, just in case
* Desktop: simplify favorite application selection
* Desktop: refactor favorite application opening routine and cleanup code
* Desktop: handle exit from external application selection

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-05-26 01:16:41 +09:00
あく
080324f7e0
[FL-3315] Desktop,Rpc: desktop status subscription (#2696)
* Desktop,Rpc: desktop status subscription
* Desktop,RPC: properly handle unsubscribe

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2023-05-25 23:22:31 +09:00
MX
d094bfaa12
Merge branch 'ofw-dev' into dev 2023-05-25 16:48:28 +03:00
Sergey Gavrilov
88f0b63577
Storage, common_rename: check that old path is exists (#2698)
* Storage, common_rename: check that old path is exists
* Storage, common_rename: return correct status
2023-05-25 22:44:32 +09:00
MX
035bb57c56
bump version!!! 2023-05-24 07:50:45 +03:00
MX
977c9e706e
Fix typos 2023-05-24 07:50:13 +03:00
MX
d597211161
Merge branch 'dev' into clock_on_desktop 2023-05-24 07:49:27 +03:00
MX
1e5a8f4391
Merge branch 'ofw-dev' into dev 2023-05-24 07:16:05 +03:00
gid9798
1d5a4240b9 Clock: some improvements 2023-05-23 22:47:15 +03:00
あく
3217f286f0
Services: remove deallocator for persistent services (#2692)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-05-23 19:17:12 +04:00
Sergey Gavrilov
711f0fef40
[FL-3327] Storage: common_rename is now POSIX compliant (#2693)
* Storage: common_rename is now POSIX compliant

* storage: check for success on storage_common_remove in file rename

---------

Co-authored-by: hedger <hedger@nanode.su>
2023-05-23 18:59:32 +04:00
gid9798
c82ed71b6f cleanup 2023-05-23 16:41:57 +03:00
gid9798
e40620fd10 clock 2023-05-22 22:45:16 +03:00
gid9798
544b6fea8a clock port 2023-05-22 11:42:27 +03:00
MX
aab4d2bd34
API CleanUp part 3 2023-05-22 03:45:17 +03:00
MX
e7965c6d95
De-libify name changer 2023-05-19 06:33:15 +03:00
MX
a7ee5fea93
Name changer as service + extra checks 2023-05-19 04:33:14 +03:00
MX
d539b948a0
Revert hitag for now, need to cleanup more space 2023-05-17 23:06:41 +03:00
MX
c9ddecff87
OFW PR 2658: Hitag
by blackvault88
2023-05-17 21:18:05 +03:00
MX
89ca69b111
Fix keyboard buffer issues
by @Willy-JL
2023-05-15 05:56:44 +03:00
MX
89c69ed622
Dont use temp str for manipulating text input
by @Willy-JL
2023-05-15 01:29:24 +03:00
MX
62fa698e2d
Merge branch 'ofw-dev' into dev 2023-05-14 20:38:24 +03:00
あく
341cd5e860
[FL-3312] fix PIN retry count reset on reboot (#2671) 2023-05-14 16:04:03 +04:00
MX
c2713eff87
New way of changing device name
Settings scene, char Validator, Idea -> by Willy-JL
Implemented by me

Kod plohoi, ochen plohoi, kto mozhet - sdelaite kak nado, esli smozhete :)
Ya luche varianta ne pridumal poka 4to
2023-05-14 05:38:00 +03:00
MX
f08dd2fd03
Text Input improvements, added cursor and ability to set minimal length
thanks to WillyJL
2023-05-14 01:44:00 +03:00
MX
849f14e480
Bad BT plugin, Submenu locked elements, API updates, etc.
Thanks to WillyJL, ClaraCrazy, and XFW contributors
2023-05-13 00:14:22 +03:00
MX
a7691b2d3b
Fix merge issues 2023-05-11 17:57:17 +03:00
MX
b2e55d7d84
Merge branch 'ofw-dev' into dev
:(
2023-05-11 17:47:14 +03:00
あく
aa8a369e2a
Rpc: add desktop service. Desktop: refactor locking routine. (#2665)
* Rpc: add desktop service
* Protobuf: sync to latest release. Desktop: rewrite PIN locking, finalize locking API
* Desktop: cleanup code a little bit
2023-05-11 19:50:17 +10:00
MX
417343e3dd
Merge branch 'fz-dev' into dev 2023-05-09 01:14:42 +03:00
hedger
538f96f0ac
[FL-3300] API version in UI (#2649)
* desktop, about: replaced commit# with API version
* scripts: storage: added approx speed for file uploads
* scripts: selfupdate: use folder name by default
* vscode: fixed broken get_blackmagic shell integration on *nix

Co-authored-by: あく <alleteam@gmail.com>
2023-05-08 20:11:23 +09:00
MX
6b186622cb
Merge branch 'fz-dev' into dev 2023-05-05 16:10:00 +03:00
あく
914129a0d9
[FL-3289] Various Furi/FuriHal bug fixes and improvements (#2637)
* Furi: properly handle thread free before TCB scrapping, add furi_free - more invasive version of free to memmgr. FuriHal: add DWT comparator api to cortex. Updater, RPC: refactor various thread shanenigans. Code cleanup.
* Rollback free macros and related changes
2023-05-05 21:40:55 +09: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
MX
6874b3b429
We don't use region provision so remove 00 from about screens 2023-05-03 21:53:44 +03:00
MX
cae4790ef2
Merge branch 'fz-dev' into dev 2023-05-03 17:15:59 +03:00
hedger
c5b460b416
[FL-3260] Added API version to device info (#2611)
* hal: device_info: added API version to "firmware.api.major" & "firmware.api.minor"
* FuriHal: bump device info version

Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 12:58:59 +09:00
Lewis Westbury
5c09bc5b2d
Gui: relax some asserts in view (#2623)
* Remove assertion preventing replacement of view input callback
* Gui: relax some asserts in view

Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 12:33:30 +09:00
MX
e24cb944ff
Temp fix desktop lock bug and update changelog 2023-05-02 02:38:42 +03:00
MX
6271409e5a
Allow locking without pin using Up menu on desktop 2023-04-25 02:09:29 +03:00
MX
7514bc8b49
Final updates 2023-04-21 15:55:06 +03:00
SG
8cfb37c12f
Gui, module menu: fix memleak 2023-04-20 16:05:35 +03:00
MX
2de476b11d
Merge branch 'fz-dev' into dev 2023-04-19 17:03:56 +03:00
Astra
74fe003f8b
[FL-3171] Introduce stealth mode and auto-selective lock (#2576)
* Introduce stealth mode and auto-selective lock
* Stealth mode status bar icon
* Review fixes
* Fix icon disappearing after reboot
* Support overriding stealth mode
* FuriHal: correct reserved space size in RTC SystemReg

Co-authored-by: あく <alleteam@gmail.com>
2023-04-19 18:33:23 +09:00
Astra
2c7eb53cac
[FL-2505] Active RPC session icon (#2583)
* Active RPC session icon
* Add RpcOwner, don't show the RPC icon when the session was started from BLE
* Fix rpc_test and f18 api
* Bump API version

Co-authored-by: あく <alleteam@gmail.com>
2023-04-19 17:30:26 +09:00
MX
aac7654ca3
Merge branch 'fz-dev' into dev 2023-04-06 07:14:48 +03:00
Astra
b4ceb55fd2
[FL-2524] Graphics cleanup and icon rotation (#2561)
* Canvas with rotation
* Full icon rotation, cleanup of unused resources
* F18 API update
* Bitmap draw cleanup
* More cleaning up
* Migrate recovery and DFU to canvas
* Make the internal draw function static
* Remove all calls to u8g2_DrawXBM

Co-authored-by: あく <alleteam@gmail.com>
2023-04-06 11:36:12 +08:00
hedger
a91d319839
[FL-3162] Moved ufbt to fbt codebase (#2520)
* scripts: moved ufbt code
* ufbt: fixed tool path
* ufbt: fixed linter/formatter target descriptions
* scripts: ufbt: cleanup
* fbt: moved fap launch target to tools; ufbt fixes
* fbt: fixed missing headers from SDK
* ufbt: removed debug output
* ufbt: moved project template to main codebase
* ufbt: fixed vscode_dist
* ufbt: path naming changes
* fbt: error message for older ufbt versions
* ufbt: docs fixes
* ufbt: fixed build dir location
* fbt: fixes for extapps objcopy
* fbt: extapps: removed extra debug output; fixed formatting
* ufbt: handle launch target for multiple known apps
* ufbt: dropping wrapper; linter fixes
* ufbt: fixed boostrap path
* ufbt: renamed entrypoint
* ufbt: updated vscode config
* ufbt: moved sconsign db location
* ufbt: fixed sconsign path
* fbt: SDK builders rework
* fbt: reworked sdk packaging
* ufbt: additional checks and state processing
* ufbt: fixed sdk state file location
* dist: not packaging pycache
* dump commit json content
* Github: more workflow debug prints
* Github: fix incorrect commit meta extraction in get_env.py
* ufbt, fbt: changed SConsEnvironmentError->StopError
* fbtenv: no longer needs SCRIPT_PATH pre-set
* ufbt: fixed sdk state check
* scripts: exception fixes for storage.py
* scripts: fbtenv: added FBT_TOOLCHAIN_PATH for on Windows for compat
* ufbt: app template: creating .gitkeep for images folder
* ufbt: app template: fixed .gitkeep creation
* docs: formatting fixes for AppManifests; added link to ufbt
* fbt: added link to PyPI for old ufbt versions
* sdk: fixed dir component paths

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-06 10:44:37 +08:00
MX
d4a20bc37a
Merge branch 'fz-dev' into dev 2023-04-01 17:41:05 +03:00
Sergey Gavrilov
ae3a3d6336
RPC: increase max message size (#2543)
* RPC: increase max message size
* RPC: do not use magic numbers
2023-03-31 16:15:15 +09: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
Sergey Gavrilov
3617ad33e4
View Model: recursive mutex (#2532)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-28 15:31:21 +09:00
MX
9165b819f4
fix merge issues 2023-03-22 22:04:04 +03:00
MX
795c8eeef7
Merge branch 'fz-dev' into dev 2023-03-22 21:13:39 +03:00
あく
7bf0a4786c
[FL-3152] Screen streaming improvements (#2498)
* Rpc: reserve some bandwidth when screen streaming
* Move furi_hal_compress to toolbox/comporess
* Lib: heatshrink as external submodule, compile warnings fixes, better buffer management
* Lib: cleanup compressor definitions
* Rpc: add canvas orientation support
* Format Sources
2023-03-23 03:00:48 +10:00
Nikolay Minaylov
0444a80f19
[FL-3134] BadUSB: Script interpreter refactoring (#2485)
* Script command and character tables
* Non-blocking stringdelay, docs update
* altchar/altstring fix
* Layout select UI fix
* Remove debug print

Co-authored-by: あく <alleteam@gmail.com>
2023-03-21 02:22:03 +09:00
MX
5660111b28
Merge branch 'fz-dev' into dev 2023-03-20 20:04:22 +03:00
Sergey Gavrilov
f7024cff78
SD Driver: reinit sd card on error (#2493)
* SD Driver: reinit sd card on error
* SD Driver: cleanup fatfs bindings
* Storage: optimized glue
* Storage: move fatfs initialization to appropriate subsystems, minor code cleanup
* SD Driver: minor code cleanup

Co-authored-by: あく <alleteam@gmail.com>
2023-03-20 22:09:10 +09:00
MX
58d4f3b531
OFW PR: 2493 - SD Driver: reinit sd card on error
No issues was found during my own testing and running sd benchmarks, sorry for rushing, I may miss something, usually I prefer to wait for official review
2023-03-18 02:50:05 +03:00
MX
3444c5245e
Tertiary favourite app 2023-03-18 01:16:34 +03:00
MX
54cefb7884
Merge branch 'fz-dev' into dev 2023-03-17 17:54:05 +03:00
Astra
7de7fa293b
Optimize trailing slash check (#2503)
* Optimize trailing slash check
2023-03-18 00:45:42 +10:00
MX
559b0e9b40
Small UI fixes 2023-03-16 21:24:09 +03:00
MX
49378f0893
Merge branch 'fz-dev' into dev 2023-03-16 13:49:24 +03:00
Astra
9fbf327028
[FL-1799] Require the trailing slash for root paths (#2486)
* Require the trailing slash
* Fix the swapped storages
* Fix root paths
2023-03-16 17:28:50 +09:00
Liam Hays
c27d4d78f9
Fix auto-capitalization in the keyboard when the text box is empty. (#2483)
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-03-15 23:51:15 +09:00
MX
dd99c22792
Merge branch 'fz-dev' into dev 2023-03-14 19:55:16 +03:00
hedger
53435579b3
[FL-3097] fbt, faploader: minimal app module implementation (#2420)
* fbt, faploader: minimal app module implementation
* faploader, libs: moved API hashtable core to flipper_application
* example: compound api
* lib: flipper_application: naming fixes, doxygen comments
* fbt: changed `requires` manifest field behavior for app extensions
* examples: refactored plugin apps; faploader: changed new API naming; fbt: changed PLUGIN app type meaning
* loader: dropped support for debug apps & plugin menus
* moved applications/plugins -> applications/external
* Restored x bit on chiplist_convert.py
* git: fixed free-dap submodule path
* pvs: updated submodule paths
* examples: example_advanced_plugins.c: removed potential memory leak on errors
* examples: example_plugins: refined requires
* fbt: not deploying app modules for debug/sample apps; extra validation for .PLUGIN-type apps
* apps: removed cdefines for external apps
* fbt: moved ext app path definition
* fbt: reworked fap_dist handling; f18: synced api_symbols.csv
* fbt: removed resources_paths for extapps
* scripts: reworked storage
* scripts: reworked runfap.py & selfupdate.py to use new api
* wip: fal runner
* fbt: moved file packaging into separate module
* scripts: storage: fixes
* scripts: storage: minor fixes for new api
* fbt: changed internal artifact storage details for external apps
* scripts: storage: additional fixes and better error reporting; examples: using APP_DATA_PATH()
* fbt, scripts: reworked launch_app to deploy plugins; moved old runfap.py to distfap.py
* fbt: extra check for plugins descriptors
* fbt: additional checks in emitter
* fbt: better info message on SDK rebuild
* scripts: removed requirements.txt
* loader: removed remnants of plugins & debug menus
* post-review fixes
2023-03-14 23:29:28 +09:00
Sergey Gavrilov
c5db1aaaf5
Revert "Revert "Embed assets in elf file (#2466)""
This reverts commit a04c01a2fd.
2023-03-10 13:57:44 +03:00
Sergey Gavrilov
a04c01a2fd
Revert "Embed assets in elf file (#2466)"
This reverts commit 4fd043398a.
2023-03-10 01:43:46 +03:00
MX
68fed0e03d
Merge branch 'fz-dev' into dev 2023-03-09 21:17:57 +03:00
Michal Suchánek
780da7d4d5
Upside down / left handed orientation support (#2462)
* Add backup files to .gitignore
* Added lefty support in Settings > System > hand Orient: Fixes: #1015
* Left handed mode
* Fix lefthanded mode on vertical interfaces
* Input: new composite sequence identifier
* Gui: move input mapping from Canvas to ViewPort, properly handle input mapping on View switch in ViewDispatcher
* Rpc: proper input sequencing and tagging in RpcGui
* Rpc: remove magic from RpcGui

Co-authored-by: MrDaGree <5050898+MrDaGree@users.noreply.github.com>
Co-authored-by: Willy-JL <willy.leslie@icloud.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2023-03-10 02:13:18 +09:00
Sergey Gavrilov
4fd043398a
Embed assets in elf file (#2466)
* FBT: file_assets generator
* Elf file: process manifest section externally
* FBT, file_assets generator: add assets signature
* Storage: assets path alias
* Flipper application: assets unpacker
* Apps, Storage: use '/data' alias for apps data
* Storage: copy file to file
* Assets: log flag, fixes
* Update f18 api
* Assets: asserts
* Assets: fix signature_data check
* App assets: example
* Example assets: fix folder structure in readme
* Assets: fix error handling
* Assets builder: use ansii instead of utf-8, use .fapassets section instead of .fapfiles, add assets path to signature
* Elf file: comment strange places
* Storage: totaly optimized storage_file_copy_to_file
2023-03-10 01:01:53 +10:00
MX
dfc45eb0f9
Merge branch 'fz-dev' into dev 2023-03-09 16:58:51 +03:00
Astra
50ef5deefc
[FL-3118] Dumb mode menu freeze fix (#2456)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-09 17:24:47 +09:00
andr0423
24f084d282
Fixed music player path for dummy mode (#2454)
Music player path changed #2453
2023-03-03 12:50:15 +03:00
MX
6ff0a5f318
Update calls to new filesystem api 2023-03-02 21:36:33 +03:00
MX
f3ab4bc292
Merge branch 'fz-dev' into dev 2023-03-02 21:18:35 +03:00
Georgii Surkov
806428efeb
[FL-3070] iButton system and app refactoring (#2388)
* Add 1-wire thermometer example app stub
* Working 1-wire thermometer app
* Refactor app to use threads
* Clean up code, add comments
* Add CRC checking
* Increase update period
* Fix error in fbt
* Revert the old update period
* Use settable pin in onewire_host
* Use settable pin for onewire_slave
* Clear EXTI flag after callback, make private methods static in onewire_slave
* Do not hardcode GPIO pin number
* Remove iButton hal from furi_hal_rfid
* Remove most of furi_hal_ibutton
* Add some of furi_hal_ibutton back
* Slightly neater code
* Update CODEOWNERS
* Add furi_hal_gpio_get_ext_pin_number
* Create README.md
* Temporary get Metakom and Cyfral keys out of the way
* Better enum name
* Syncing work, does not compile
* Syncing work, now compiles
* Working read impl for DS1990 and DS1992
* Add the ability to display extended key data
* Get rid of DialogEx
* Add save and load API
* Better iButtonKey encapsulation
* Fix crash
* Load key code boilerplate
* More load key code boilerplate
* Minor code cleanup
* Implement loading and saving DS1990 keys
* Implement the Info scene
* Implement loading & saving for DS1992
* Implement read error scene stub
* Implement delete confirmation screen
* Better error messages (protocol-dependent)
* Minor old code cleanup
* Remove iButtonDevice, add command callback to iButtonSlave
* Implement draft emulation for DS1990
* Better emulation for DS1990
* Initial emulation implementation for DS1992
* Better common command definitions
* Use common submenu callback, add protocol list
* Improve ViewData screen
* Improve scene_add_type
* Add stubs for write functionality
* Improve naming consistency
* Implement writing a DS1992 onto another one
* Improve DS1992 write code
* Improve DS1992 write code once more
* Prepare write_blank for DS1990, delete ibutton_writer
* Implement writing DS1990 onto blanks
* Fix reading DS1990
* Partially implement writing DS1992 onto blanks
* Implement GUI for writing keys
* Implement GUI for emulating keys
* Reduce memory usage for pretty_format
* Automatically truncate data more than 256 bytes
* Initial implementation of DS1996 (not tested)
* Fix crash due to missing virtual function
* Improve emulation code
* Improve DS1992 emulation code
* Correct return value for onewire_slave_send
* Correct return value for onewire_slave_receive
* Implement emulation for DS1992 & DS1996
* Better constant names
* Simplify & optimise the emulation code
* Remove duplicate code
* Add skip rom command emulation
* Show loading animation for large keys
* Implement manual adding & editing of keys
* Use buffered file streams to speed up saving & loading
* Reset key name before adding a new one
* Sync a buffered file stream before saving
* Use the DSGeneric protocol as a fallback option
* Implement emulation via RPC
* Refactor iButton code in preparation for comparator keys
* Refactor iButton code in preparation for comparator keys once more
* Make some functions static
* Make protocols not rely on one_wire classes
* Improve ProtocolDict usage
* Improve ProtocolDict usage more
* Implement reading Metakom & Cyfral keys
* Rename some files
* Better file structure
* Implement a unified interface for misc protocols
* Implement a unified interface for dallas protocols
* Concrete types for Dallas protocols
* Implement a unified interface for all key types
* Improved type naming
* Improved private types
* Proper types in protocol definitions
* Implement emulation for Cyfral & Metakom keys
* Implement save&load for Metakom & Cyfral keys
* Better type names
* Rename files, better names
* Allocate iButtonProtocols like a normal class
* Reset the key each time the start scene is selected
* Improve comments and constants
* Add ibutton_protocols to SDK headers
* Add ibutton_key to SDK headers
* Add ibutton_key to SDK headers
* Implement reading via cli
* Implement emulation via cli
* Implement writing Dallas blanks via cli
* Correctly revert the editing if cancelled by the user
* Correct committing mishap
* Elide the long text on the info screen
* Change key name for data in Misc keys
* Update iButtonFileFormat.md
* Remember the key's folder
* Save menu position in ReadKeyMenu and SavedKeyMenu
* Correct use of preselected path in file browser

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-02 22:23:33 +09: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
MX
5b0c5a82c0
Merge branch 'fz-dev' into dev 2023-02-26 21:24:38 +03:00
Shane Synan
09edf66a2a
FuriHal, Power, UnitTests: fix, rename battery charging voltage limit API (#2228)
* FuriHal, Power, UnitTests: rename battery charge voltage limit API
* FuriHal: bump API, power info major versions
* Power: fix battery charge voltage limit for > 7.935v

Co-authored-by: あく <alleteam@gmail.com>
2023-02-27 02:23:39 +09: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
Logandev_
e999c35749
Grammar fix in CLI (#2390)
* fixed grammar
* Update cli_commands.c: made it a little nicer

Co-authored-by: あく <alleteam@gmail.com>
2023-02-25 22:49:53 +09:00
Willy-JL
f8eda660d2 Keyboard long press first char for lowercase 2023-02-24 00:50:00 +00:00
Willy-JL
f3e3e828aa Fix keyboard capitalization bug 2023-02-24 00:22:43 +00:00
MX
c230d09dad
Faster Turn OFF hold time 2023-02-24 03:04:36 +03:00
Round-Pi
b89902942b typo combing 2023-02-20 10:55:53 -05:00
MX
aae37121d6
Bump Settings file version to 7, cuz struct is changed and requires upd
Settings are saved as binary struct dump, so if we make any change to struct, we need to bump a version since it will not be compatible with older file in any case
2023-02-17 03:36:34 +03:00
Willy-JL
660f97f241 Add desktop auto lock with pin setting 2023-02-16 23:21:35 +00:00
Willy-JL
34f0aced2f Autolock with pin code 2023-02-15 02:04:16 +00:00
Willy-JL
cb89bb9628 Fix archive sorting (skip on big folders) 2023-02-13 14:54:23 +00:00
Willy-JL
fbf99d6cb3 Skip browser inputs while loading / sorting 2023-02-13 14:54:15 +00:00
MX
6c4334e7cb
Rename functions and cleanup a bit 2023-02-13 00:41:50 +03:00
MX
ca12057426
Fix large folders parsing 2023-02-12 23:55:39 +03:00
Willy-JL
37b84a9dbb Remove unnecessary sarcastic comment 2023-02-12 12:28:40 +00:00
Willy-JL
5a2f693551 File browser load speed improvements (skip redraw) 2023-02-12 11:22:52 +00:00
Willy-JL
82f77edc70 Fix file browser back history 2023-02-12 11:22:37 +00:00
Willy-JL
80b8a0dddb Fix file browser clownage comment 2023-02-12 11:22:23 +00:00
Willy-JL
fb4e2e02be Hide files in browser while still loading 2023-02-11 23:49:29 +00:00
MX
a4c28ed5bf
Show internal memory only in DEBUG mode + other fixes
Remove unused imports and remove my old code that used to hide layouts and tmp history folders, this was removed in dev but somehow was added back here
2023-02-11 21:59:22 +03:00
VerstreuteSeele
371f3b3869 De-xtreme-ify the code 2023-02-11 16:13:49 +01:00
VerstreuteSeele
6b99999566 Update browser 2023-02-11 15:49:00 +01:00
MX
b9351649ed
Merge branch 'fz-dev' into dev 2023-02-09 17:48:50 +03:00
MX
ba36f4672c
Throw away Kostily & Velosipedy
Ne bag a ficha, bolshe ne nuzhna
2023-02-09 17:21:40 +03:00
Petr Portnov | PROgrm_JARvis
4265057ee8
feat: add missing const qualifiers (#2233)
* feat: make `ViewPort` getters const
* feat: make tx-buffers const
* feat: make `canvas_get_buffer_size` const
* feat: make `canvas` methods const
* feat: make `icon_animation` methods const
* feat: make `scene_manager` methods const
* feat: make `loader` method const
* feat: make `canvas_get_font_params` const

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 13:58:01 +09:00
MX
30081b79c4
Mirror my changes to badusb layouts from PR 2023-02-08 16:10:47 +03:00
LTVA1
23ecc186c2
Custom font set function (#2261)
* custom font set function
* update API symbols
* add example of custom font usage
* delete u8g2 dependency in example custom font
* rename to canvas_set_custom_u8g2_font
* now change the name in ALL places

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-02-08 18:26:17 +09:00
MX
6c768f2019
Merge branch 'fz-dev' into dev 2023-02-08 12:09:57 +03:00
Sergey Gavrilov
e3d473bf42
[FL-2435] SD over SPI improvements (#2204)
* get rid of BSP layer
* sector_cache: init in any case
* new sd-spi driver: init
* Delete stm32_adafruit_sd.c.old
* Delete spi_sd_hal.c.old
* Storage: faster api lock primitive
* Threads: priority control
* Flags: correct error code
* Spi: dma mode
* SD-card: use DMA for big blocks of SPI data
* Fix wrong SD_TOKEN_START_DATA_MULTIPLE_BLOCK_WRITE value
* do not memset cache if it is NULL
* remove top-level timeouts
* sd hal: disable debug
* Furi HAL: DMA
* Furi HAL RFID: use furi_hal_dma
* Furi HAL DMA: tests
* Furi HAL DMA: docs
* rollback "Furi HAL RFID: use furi_hal_dma"
* 4 channels taken from DMA manager for core HAL.
* Furi HAL DMA: live fast, die young
* RPC tests: increase message buffer
* SPI HAL: use second DMA instance
* sd hal: new CID getter
* SPI hal: use non-DMA version if kernel is not running
* IR hal: generalize DMA definition
* storage: add CID data to sd info
* RFID hal: generalize DMA definition
* SUBGHZ hal: generalize DMA definition. Core hal moved to DMA2.
* Storage: small optimizations, removal of extra mutex
* Storage: redundant macro
* SD hal: more timeouts
* SPI hal: DMA init
* Target: make furi_hal_spi_dma_init symbol private
* Update F18 api symbols

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 13:41:22 +09:00
hedger
224d0aefe4
[FL-2733] multitarget support for fbt (#2209)
* First part of multitarget porting
* Delete firmware/targets/f7/Inc directory
* Delete firmware/targets/f7/Src directory
* gpio: cli fixes; about: using version from HAL
* sdk: path fixes
* gui: include fixes
* applications: more include fixes
* gpio: ported to new apis
* hal: introduced furi_hal_target_hw.h; libs: added one_wire
* hal: f18 target
* github: also build f18 by default
* typo fix
* fbt: removed extra checks on app list
* api: explicitly bundling select mlib headers with sdk
* hal: f18: changed INPUT_DEBOUNCE_TICKS to match f7
* cleaned up commented out code
* docs: added info on hw targets
* docs: targets: formatting fixes
* f18: fixed link error
* f18: fixed API version to match f7
* docs: hardware: minor wording fixes
* faploader: added fw target check
* docs: typo fixes
* github: not building komi target by default
* fbt: support for `targets` field for built-in apps
* github: reworked build flow to exclude app_set; fbt: removed komi-specific appset; added additional target buildset check
* github: fixed build; nfc: fixed pvs warnings
* attempt to fix target id
* f7, f18: removed certain HAL function from public API
* apps: debug: enabled bt_debug_app for f18
* Targets: backport input pins configuration routine from F7 to F18

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 01:33:05 +09:00
MX
ed4b2b3362
Merge remote-tracking branch 'LTVA1/patch-custom-font' into dev 2023-02-02 14:27:17 +03:00
MX
16f8f2c2df
Merge branch 'fz-dev' into dev 2023-02-02 11:54:20 +03:00
hedger
fcd3799aee
Merge branch 'dev' into patch-custom-font 2023-01-31 15:05:53 +07:00
Michal Suchánek
d9be815889
Print card CID in storage info (#2227) 2023-01-30 16:14:30 +07:00
あく
bf2ab1f4d5
Merge branch 'dev' into patch-custom-font 2023-01-30 15:30:54 +07:00
Emily Trau
24a23e5dc7
debug apps: made runnable as .faps; sdk: resolved additional APIs in use by faps (#2333)
* sdk: resolve additional APIs in use by faps
* debug tools: fixed battery_test, bt_debug, display_test, rpc_debug

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-01-27 16:41:55 +07:00
LTVA1
f4cb458391 now change the name in ALL places 2023-01-25 08:52:51 +03:00
LTVA1
34ff250eea rename to canvas_set_custom_u8g2_font 2023-01-25 08:18:32 +03:00
MX
fb39d6e679
Format code 2023-01-18 19:19:49 +03:00
MX
959ea4d8c1
Merge branch 'dev' into batt-ui 2023-01-18 18:40:15 +03:00
MX
c708a301f5
Merge branch 'fz-dev' into dev 2023-01-18 18:26:49 +03:00
gid9798
073fb3861a
Add the ability to turn pages in infrared (#2271)
Co-authored-by: あく <alleteam@gmail.com>
2023-01-13 17:11:12 +03:00
Fasjeit
78139c5936 drawing own battery (Bar %) charging display 2023-01-12 11:35:42 +03:00
Giacomo Ferretti
20621da8ac
Fix typos in source code (#2285)
* Fix typo in TextInput module

* Fix typo in Widget comment

* Fix typo in comment

Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-01-11 16:41:57 +03:00
あく
8d2143add5
Fix various issues reported on github (#2280)
* Desktop: Fix use after free in slideshow view
* Gui: long press toggles first letter case too
* Desktop: remove debug logging
2023-01-10 03:15:03 +09:00
Fasjeit
4dc2a7f212 New battery display (Bar %) 2023-01-09 17:50:38 +03:00
LTVA1
1cdccbae23
formatting 2023-01-06 21:52:17 +03:00
LTVA1
109c34398f
custom font set function 2023-01-06 21:43:43 +03:00