Commit graph

4361 commits

Author SHA1 Message Date
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
Astra
4359e2eaa9
[FL-3103] New pin reset splashscreen (#2405)
* New pin reset splashscreen
* Recovery: optimize drawing routine
* Recovery: increase erase confirmation time
* Change the required button

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-02 20:56:23 +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
f8dc1939cd
Return kostyli and velosipedy back, apply different fix 2023-03-01 12:02:53 +03:00
MX
1b8cf6a5b1
Fix default frequency being overwritten bug 2023-03-01 11:57:16 +03:00
MX
1f6382e93d
Update changelog and readme 2023-03-01 02:57:06 +03:00
Georgii Surkov
ab6b3f8ed3
Fix hangups when the user mashes the transmit button 2023-03-01 02:15:13 +03:00
Astra
cc52253e22
Exit to the main menu on pressing BACK 2023-03-01 02:14:56 +03:00
MX
cf6dc9f895
Fix timings for CAME protocol, Fix #280 2023-03-01 00:25:11 +03:00
MX
8deb29a8ff
Fix #370 and fix other protocol counter 2023-02-28 21:45:55 +03:00
MX
e0f9697750
Add a special message in changelog for novices 2023-02-28 07:25:28 +03:00
MX
c3a6ba3c02
Small fixes 2023-02-28 07:09:13 +03:00
MX
75a8f0a7b4
Update changelog 2023-02-28 07:05:55 +03:00
MX
caa4ba67d6
Merge pull request #367 from clashlab/improve_hc-sr
hc_sr04: Improve accuracy by measuring microseconds
2023-02-28 06:59:17 +03:00
MX
9f6f391354
Update changelog and docs 2023-02-28 06:56:54 +03:00
MX
24726ab8a3
More precise debug counter ++ 2023-02-28 06:19:21 +03:00
MX
6bd5e22872
Somfy Telis - add manually 2023-02-28 06:15:55 +03:00
MX
cbb09b6812
BFT Programming mode and Add manually 2023-02-28 06:02:22 +03:00
MX
9c9688dd5b
Nice One manual adding support 2023-02-28 00:41:14 +03:00
MX
21c52df090
bft programming mode & run fbt format 2023-02-28 00:10:16 +03:00
MX
2c95a7cba4
Somfy Telis - Custom buttons + Prog mode 2023-02-28 00:02:30 +03:00
MX
568176d775
App categories 2023-02-27 23:13:52 +03:00
MX
04250632d7
Merge branch 'fz-dev' into dev 2023-02-27 21:34:30 +03:00
Nikolay Minaylov
9ae58f5462
[FL-3116, FL-3136] BadUSB UI fixes (#2439) 2023-02-27 23:04:14 +09:00
あく
e6d1bcc421
Plugins: move to designated categories (#2438) 2023-02-27 23:33:45 +10:00
Clashlab
4439a83733 hc_sr04: Improve accuracy by measuring micro-seconds 2023-02-27 13:38:43 +01:00
MX
0f8d7dd6db
Merge pull request #366 from MatthisC/features-mousejacker
Features mousejacker
2023-02-27 03:27:50 +03:00
MX
182296d8af
Nice flor s - custom buttons 2023-02-27 01:13:21 +03:00
matthisc
cd14380dba Correcting bug on DEL and DELETE 2023-02-26 20:09:05 +01:00
MX
5b0c5a82c0
Merge branch 'fz-dev' into dev 2023-02-26 21:24:38 +03:00
あく
478390de19
Drivers: remove excessive check in bq25896 and make PVS happy (#2436) 2023-02-27 04:06:19 +10:00
あく
b054912167
F8, F18: bump API symbols version (#2435) 2023-02-27 03:39:26 +10: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
あく
1d55aee39c
Fix incorrect type choise condition in image compressor (#2434) 2023-02-27 02:29:42 +10: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
a61286bd43
Merge branch 'fz-dev' into dev 2023-02-26 14:34:31 +03:00
Sergey Gavrilov
9bda3e62ee
SD Cache: moved to diskio layer, invalidation in case of error (#2428)
Co-authored-by: あく <alleteam@gmail.com>
2023-02-26 20:28:51 +09:00
matthisc
905273e066 Adding function to detect end of altcode 2023-02-26 10:38:40 +01:00
matthisc
16fe62e98d Adding ALTSTRING feature for non-qwerty keyboards 2023-02-26 10:29:56 +01:00
matthisc
958797062d Improving logic of mod keys when releasing a key 2023-02-26 10:23:33 +01:00
matthisc
2bb76e09c6 Adding TAB command 2023-02-26 10:14:14 +01:00
matthisc
33dd256dfb Correcting bug on DEL and DELETE key 2023-02-26 10:10:00 +01:00
MX
295fd3d0c0
Merge branch 'fz-dev' into dev 2023-02-26 11:16:01 +03:00
MX
efdf24d711
Merge branch 'fz-dev' into dev 2023-02-26 11:11:00 +03:00
MX
12c1ec37a2
Fix PVS warnings (#2430)
Co-authored-by: あく <alleteam@gmail.com>
2023-02-26 17:08:05 +09:00
Eric Betts
03f889962b
Picopass: factory key support, app rename and move to NFC category, minor code cleanup (#2417)
* message on successful card write
* auth using factory key
* auth using factory default
* factory default screen
* write standard iclass key
* pass block explicitly
* Fix array indexing, add empty detection
* PicoPass: rename app and move to NFC group, minor code cleanup

Co-authored-by: あく <alleteam@gmail.com>
2023-02-26 16:59:50 +09:00
MX
0bc995bfab
Update changelog 2023-02-26 06:41:50 +03:00
MX
a19768e376
Throw small delay 2023-02-26 06:39:42 +03:00
MX
0bf0267edd
Fix pvs warnings from OFW 2023-02-26 06:07:31 +03:00