Commit Graph

250 Commits

Author SHA1 Message Date
Willy-JL
89e5b479c8 Fix lefthanded mode on vertical interfaces 2023-03-05 23:07:52 +00: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
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
Willy-JL
77eb733a9a Format 2023-03-02 02:52:25 +00: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
3c9ccd2c50 Left handed mode 2023-03-01 00:46:40 +00:00
Willy-JL
fa8ed7f6e4 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware 2023-02-28 20:34:44 +00:00
Willy-JL
007447cc61 Add experimental dark mode setting 2023-02-27 19:12:48 +00:00
Willy-JL
991d49733f Format 2023-02-26 01:44:32 +00:00
Willy-JL
3296cf3b79 Keyboard hold backspace to keep deleting 2023-02-24 04:46:14 +00:00
Willy-JL
c8e9e9bc9e Secondary symbol keyboard pane + switch key
Original idea & code by @edrethardo, update and fix by @Willy-JL
2023-02-24 04:02:09 +00:00
Willy-JL
d3f3bf1e11 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-02-24 01:05:31 +00:00
Willy-JL
f8eda660d2 Keyboard long press first char for lowercase 2023-02-24 00:50:00 +00:00
Willy-JL
fd7620202a Keyboard long press first char for lowercase 2023-02-24 00:49:41 +00:00
Willy-JL
d23f396c44 Keyboard lowercase check fix 2023-02-24 00:23:33 +00:00
Willy-JL
f3e3e828aa Fix keyboard capitalization bug 2023-02-24 00:22:43 +00:00
Willy-JL
02591c12b7 Fix keyboard capitalization bug (_ and space) 2023-02-24 00:10:04 +00:00
Round-Pi
b89902942b typo combing 2023-02-20 10:55:53 -05:00
Willy-JL
462a0c8efc Cleaner settings implementation (proper defaults) 2023-02-17 23:30:28 +00:00
Willy-JL
9266e9f47c More statubar settings 2023-02-13 23:41:30 +00:00
Willy-JL
6a1869b9f1 Rename batt style to icon and improve value logic 2023-02-13 22:13:01 +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
Willy-JL
abeb34b983 Fix archive sorting (skip on big folders) 2023-02-13 05:01:31 +00:00
Willy-JL
9fe3136993 Skip browser inputs while loading / sorting 2023-02-13 04:57:44 +00:00
Willy-JL
025b4e27ea Fix statusbar without battery 2023-02-12 22:35:30 +00:00
MX
efcfcedaed Rename functions and cleanup a bit 2023-02-12 22:25:06 +00:00
MX
6c4334e7cb Rename functions and cleanup a bit 2023-02-13 00:41:50 +03:00
Willy-JL
0ff5164d99 Format (and thanks nano for the big folder fix <3) 2023-02-12 21:11:00 +00:00
MX
e5b9289da8 Fix large folders parsing 2023-02-12 21:05:19 +00:00
MX
ca12057426 Fix large folders parsing 2023-02-12 23:55:39 +03:00
Willy-JL
0f6343f6f5 Remove unnecessary sarcastic comment 2023-02-12 19:58:16 +00: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
205da2920e File browser load speed improvements (skip redraw) 2023-02-12 11:16:12 +00:00
Willy-JL
9b16c2178b Fix file browser back history 2023-02-12 11:15:11 +00:00
Willy-JL
54019b46ca Fix file browser clownage comment 2023-02-12 07:39:15 +00:00
Willy-JL
fb4e2e02be Hide files in browser while still loading 2023-02-11 23:49:29 +00:00
Willy-JL
7d2fdc5c6d Hide files in browser while still loading 2023-02-11 23:44:19 +00:00
Willy-JL
9ed14fe773 Remove unused imports and old code 2023-02-11 20:07:53 +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
Willy-JL
efb11dfcbd Properly integrate xtreme apis and headers 2023-02-11 05:19:37 +00:00
Willy-JL
9cf68935e8 Remove testing code 2023-02-11 05:03:01 +00:00
Willy-JL
ae9e15604e Bring back status bar as xfw setting 2023-02-11 04:30:26 +00:00