Commit graph

1255 commits

Author SHA1 Message Date
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
Georgii Surkov
0917494a80
[FL-3168] Add one_wire lib to f18, separate ibutton (#2509)
* Separate ibutton to its own module, add one_wire to f18
* Move onewire cli to a separate app

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-21 01:23:17 +09:00
hedger
60ac2e9881
[FL-3161] Improved debugging experience for external apps (#2507)
* debug: automated support for multiple debug symbol files
* faploader: extra checks for app list state
* debug: trigger BP before fap's EP if under debugger
* faploader, debug: better naming
* docs: info on load breakpoint
* faploader: header cleanup
* faploader: naming fixes
* debug: less verbose; setting debug flag more often
* typo fix
2023-03-21 00:03:55 +09: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
Astra
7de7fa293b
Optimize trailing slash check (#2503)
* Optimize trailing slash check
2023-03-18 00:45:42 +10:00
Astra
6aa0c08f3a
[FL-3064] Skip the read when the card is not present (#2494)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-16 18:06:11 +09: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
Leopold
a69ae93871
Add new nfc apdu cli command (#2482)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-15 22:52:32 +09:00
Eric Betts
e22668e196
Picopass standard KDF dictionary (#2478)
* Split iclass dictionaries based on KDF
* Allow cancelling during key test

Co-authored-by: あく <alleteam@gmail.com>
2023-03-15 21:35:11 +09:00
あく
ccaa3864d5
Dolphin: new spring animation, weight adjust, drop winter animation. (#2489)
* Dolphin: add new spring animation, drop winter animation, adjust weights
* Readme: update application folder structure info
2023-03-15 01:02:27 +10: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
Leo Smith
5b05aeea82
[#1989] updated parser and added stringln, hold and release (#2448)
* updated parser and added stringln, hold and release
* removed unused code as requested from PR
* BadUsb: tiny change to trigger rebuild

Co-authored-by: p4p1 <p4p1@vivaldi.net>
Co-authored-by: あく <alleteam@gmail.com>
2023-03-10 02:42:34 +09: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
Astra
50ef5deefc
[FL-3118] Dumb mode menu freeze fix (#2456)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-09 17:24:47 +09:00
Eric Betts
5be15152eb
PicoPass: auth cleanup (#2470)
* remove redundant auth methods
* Move picopass keys to new file
* CTF key
* Format sources
* PicoPass: add pragma once to picopass_keys.h

Co-authored-by: あく <alleteam@gmail.com>
2023-03-08 20:46:30 +09:00
Liam Hays
90958a6d23
More UI fixes and improvements (#2419)
* Unify spelling of confirm exit/retry across apps.
* Unify infrared exit/retry confirm menus?
* "Keyboard Layout", not "Keyboard layout".
* Make iButton read scene prompt less awkward.
* "Detect Reader" in MF Classic saved menu instead of "Detect reader"
* NFC menu spelling changes only.
* Remove \n in strings in widget_add_string_element() calls.

Co-authored-by: あく <alleteam@gmail.com>
2023-03-08 20:27:21 +09:00
AloneLiberty
eb5dae1cda
NFC: Support reading Mifare Classic key B from sector trailer, reading sector with B key where A key can't read block, Nfc Magic app not using NFC folder by default (in file select) (#2437)
* NFC: Support reading Mifare Classic key B from sector trailer and reusing it for other sectors
* NFC: Fix my pointer typo
* NFC: Fix reading sector with B key where A key can't read block (fixes #2413) and fix Nfc Magic app not using NFC folder by default (in file select)
* NFC: Fix strange bug

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-08 03:33:59 +09:00
Astra
9819306731
[Fl-3147] Remove ValueMutex (#2467)
* Move keypad_test to furi_mutex
* Move text_box_test to furi_mutex
* Move snake_game to furi_mutex
* Remove ValueMutex completely
* Snake Game: simplify code and fix PVS warning
* F18: sync API symbols

Co-authored-by: あく <alleteam@gmail.com>
2023-03-07 22:09:45 +09:00
Eric Betts
eefca9f498
Support reseting iCx cards (#2451)
* Support reseting iCx cards
* add submenu
* Fix auth
* switch key derivation to use same method
* test system keys using both elite and standard kdf

Co-authored-by: あく <alleteam@gmail.com>
2023-03-07 19:53:52 +09:00
GuruSteve
9dd1fb64b7
Fixed picopass load save file overrun (#2464)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-06 16:59:48 +09:00
Nikolay Minaylov
5d4057f722
Archive browser: update path on dir leave (#2455) 2023-03-04 03:07:41 +09:00
Ethanol0001
0b7d205253
Update clock_app.c (#2446)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-04 01:15:17 +09:00
Skorpionm
72ca6b25e9
[FL-3106] SubGhz: better and more verbose error handling in protocols, stricter CAME validation (#2443)
* SubGhz: add error protocol
* WS: add error protocol
* SubGhz: error processing
* SubGhz: more stringent CAME protocol restrictions
* SubGhz: fix header duration CAME protocol
* SubGhz: delete comments
* SubGhz: sync SubGhzProtocolStatus with FuriStatus
* SubGhz: update documentation and bump api_version

Co-authored-by: あく <alleteam@gmail.com>
2023-03-04 00:09:13 +09:00
Georgii Surkov
6cc5119c64
[FL-3117] Infrared: Fix hangups on repeated button press (#2441)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-03 21:37:02 +09:00
Astra
42d27d04f6
[FL-3127] Fix navigation on unsupported card types (#2440)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-03 19:55:51 +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
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
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
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
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
n30f0x
eaf965c66f
BadUsb: STRINGDELAY feature, worker signal handling refactoring (#2269)
* BadUsb: Added stringdelay feature
* BadUsb: added stringdelay feature, fixed delay
* BadUsb: fix cursed delay structure
* BadUsb: long delay check added
* BadUsb: long delay distribution
* furi_delay_ms(0) edgecase fix, add documentation entry
* additional documentation entry
* BadUsb: get rid of bad logic, fixed documentation
* BadUSB script: fix events handling
* Delay value fix
* Script execution fix

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2023-02-26 02:34:48 +09: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
Liam Hays
663eb6cd6d
Display Mifare Classic data in NFC app (#2389)
* Add data display for Mifare Classic cards.
* Clean up log statements and data display.

Co-authored-by: あく <alleteam@gmail.com>
2023-02-21 16:15:48 +09:00
MX
0a3ff7f85a
Show RSSI in Weather Station app (#2395)
* Show RSSI in weather station app: copy changes from main SubGHz app
* WeatherStation: remove dead code
* WeatherStation: sync naming schema with current code.

Co-authored-by: あく <alleteam@gmail.com>
2023-02-21 00:19:53 +09:00
Igor Danilov
738e0df4f4
Delete rwfiletest.bin on exit SDcard benchmark (#2415)
* Update storage_settings_scene_benchmark.c: delete rwfiletest.bin on exit SDcard brencmark
* Settings: cleanup SD Benchmark temp file only if test successful


Co-authored-by: あく <alleteam@gmail.com>
2023-02-20 21:52:15 +09:00
Mathie
009c9b1b71
Update nfc_cli.c (#2402)
Modified the f to a capital F, looks cleaner.

Co-authored-by: あく <alleteam@gmail.com>
2023-02-17 20:43:06 +09:00
Nikolay Minaylov
bc06d407f3
[FL-3113] BadUSB: disable CDC mode, USB mode switch fix (#2394) 2023-02-14 00:43:29 +09:00
hedger
d0c6c3402c
Updater visual fixes (#2391)
* updater: removed unused code; fbt: fixed build error processing in certain cases
* updater: simplified internal pre-update state
* updater: rebalanced stage weights; fixed progress hiccups
2023-02-13 23:07:53 +09:00
WillyJL
628f089c42
Mark debug app as debug not external (#2387) 2023-02-13 13:10:36 +09:00
Pierce
3eacb0c715
Fixed typo in nfc_magic_scene_wrong_card.c (#2382) 2023-02-10 21:52:53 +09: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
Skorpionm
163be139eb
SubGhz: add protocol BinRAW (binarization of data quantized by the minimum correlated duration) (#2322)
* SubGhz: add protocol DataRAW (binarization of data quantized by the minimum correlated duration)
* SubGhz: fix name history
* SubGhz: add encoder Data_RAW protocol
* SubGhz: decreasing the size of the LevelDuration structure
* SubGhz: history, added check that there is free RAM
* SubGhz: checking for free memory, support to pass without gap
* SubGhz: add running average to average the result, auto cut noise at the end of a burst
* SubGhz: support for repeating sequences
* SubGhz: fix secplus_v2 decoder
* SubGhz: bin_RAW fix add history
* SubGhz: add debug
* SubGhz: debug refactoring
* FURI_LOG: add FURI_LOG_RAW_x formatted string output like printf
* SubGhz: fix new FURI_LOG metod
* FURI_LOG: fix unit test
* SubGhz: add enable/disable BinRAW protocol decoding
* SubGhz: fix PVS
* SubGhz: forcibly turn off the speaker when exiting SubGhz
* SubGhz: adaptive adjustment to the noise level

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 13:48:06 +09:00
Patrick Cunningham
71871949ec
Picopass: show elite key used from dictionary (#2119)
* show elite key used from dictionary
* remove space so it fits on screen

Co-authored-by: あく <alleteam@gmail.com>
2023-02-09 12:47:16 +09:00
hedger
a005087636
fbt: building fap_dist for compact gh build; accessor: fixed for latest ibutton changes (#2377)
* fbt: building fap_dist as default target; accessor: fixed for latest ibutton changes
* fbt: not building fap_dist as default target; github: doing fap_dist for compact builds

Co-authored-by: あく <alleteam@gmail.com>
2023-02-09 03:16:05 +09:00
Eric Betts
8f2f2d810a
Move CSN space to revent overflow (#2232)
Co-authored-by: あく <alleteam@gmail.com>
2023-02-09 03:06:42 +09:00
Skorpionm
db1a8f8014
[FL-3099] SubGhz: add protocol KingGates Stylo4k (#2368)
* [FL-3099] SubGhz: add protocol KingGates Stylo4k
* SubGhz: add unit test file
* f7: api: reverted symbols

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 02:47:39 +09:00
itsweekly
39841bd5a9
Universal Projector Remote (#2343)
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-02-09 02:28:34 +09:00
Skorpionm
bf4d00a7d1
[FL-3100] SubGhz: add protocol Nice One (#2358)
* SubGhz: add protocol Nice One
* SubGhz: fix annotation
* SubGhz: add unit test

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 02:20:28 +09:00
Skorpionm
31259d5304
[FL-3091] SubGhz: add protocol Alutech at-4n (#2352)
* GubGhz: add protocol Alutech at-4n
* SubGhz: fix syntax
* SubGhz: fix subghz_protocol_decoder_alutech_at_4n_get_hash_data
* SubGhz: add unit test alutech at-4n
* SubGhz: add name key

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 01:59:49 +09:00
Skorpionm
0afc4a8982
[FL-3092] SubGhz: add DOOYA protocol (#2178)
* SubGhz: add DOOYA protocol
* SubGhz: add unit_test DOOYA protocol
* SubGhz: fix protocol Dooya

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 01:37:24 +09:00
Brandon Weeks
8288a08eb3
SubGhz: add protocol "Linear Delta-3" (#2239)
* SubGhz: add protocol "Linear Delta-3"
* SubGhz: fix Leniar Delta 3
* BadUSB: mask pvs studio warning for valid code

Co-authored-by: SkorP <skorpionm@yandex.ru>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Skorpionm <85568270+Skorpionm@users.noreply.github.com>
2023-02-09 00:26:45 +09:00
MX
b1f581239b
BadUSB: Keyboard Layouts (#2256)
* BadUSB: Keyboard Layouts
* Apply requested changes pt1
* Add layout file check when we loading config

Co-authored-by: Nikolay Minaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-02-09 00:01:00 +09:00
Skorpionm
99253a0e28
[FL-3093, FL-3087] SubGhz: Fix Raw write, add short duration filter setting (#2300)
* SubGhz: Fix recording RAW files, sometimes could not start at a high level
* SubGhz:  subghz_worker, add short duration filter setting
* SubGhz: capture raw timings in cli. Furi: clear pending interrupts on ISR set/reset
* SubGhz: fix start  duration in furi_hal_subghz_start_async_rx
* [FL-3093] SubGhz: hopping issue in some regions
* [FL-3087] SubGhz: fix delete-ok issue
* SubGhz: remove copypasta from rx_raw cli command

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 22:20:42 +09: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
Liam Hays
111c7557b3
Fix minor UI inconsistencies and bugs (#2361)
* Changed blue LED to cyan in NFC Magic and Picopass apps.
* Fix capitalization of ATQA and UID in NFC Add Manually wizard.
* Fix reselection of "Saved" menu item in NFC and RFID apps.
* Fix double back press after deleting a file in the SubGhz browser.
* Make NFC app behave like other apps: return to the file browser after deleting a file.
* Rename NfcSceneSetAtqua to NfcSceneSetAtqa.
* Save selected menu items in NFC Magic and Picopass apps in a way that always works.
* Restore previous selection in Universal Remotes menu.
* Other way to do universal remote menu saving, and NFC Extra Actions saves last selection.

Co-authored-by: あく <alleteam@gmail.com>
2023-02-08 17:08:50 +09:00
Georgii Surkov
7a3a1aaf0d
[FL-3057] Allow use of any suitable pin for 1-Wire devices (#2350)
* 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
* Fix formatting
* Fix PVS-studio warnings
* Update CODEOWNERS
* Add furi_hal_gpio_get_ext_pin_number
* Create README.md
* FuriHal: move furi_hal_gpio_get_ext_pin_number to resources

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 14:40:44 +09: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
Round-Pi
1ff5843ee6
battery info temperature shown in C or F based on settings (#2360)
* battery Info temperature displays C or F
* PowerSettings: add locale module to dependencies

Co-authored-by: あく <alleteam@gmail.com>
2023-02-07 12:05:52 +09:00
nas
79d45c97f9
AleX83Xpert/add f keys to keyboard layout (#2362)
* Assets: png images for F1..F12 keys: Will be used for HID keyboard layout
* HID KEYBOARD F1..F12 keys were added
  - a new row with functional keys was added
  - logic for displaying the keyboard layout was improved
* HidApp: hid functional keys by default

Co-authored-by: あく <alleteam@gmail.com>
2023-02-07 00:24:05 +09:00
Max Andreev
9f279ac872
[FL-2744] SPI Mem Manager C port (#1860)
Co-authored-by: あく <alleteam@gmail.com>
2023-02-06 23:03:29 +09:00
AloneLiberty
46fb86265c
NFC: fix creating MF Classic tags from "Add Manually" menu (BCC calulation and ATQA/SAK writing) (#2342)
* NFC: fix creating MF Classic cards from "Add Manually" menu (BCC calculation and AQTA/SAK writing)
* NFC: Fix BCC/SAK/ATQA in unit_tests and SAK in nfc_generate_mf_classic

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2023-02-02 22:18:39 +07:00
Michal Suchánek
d9be815889
Print card CID in storage info (#2227) 2023-01-30 16:14:30 +07:00
Noam Drong
5db7fdf985
Add support for GUI-CTRL in bad_usb (#2315)
Co-authored-by: あく <alleteam@gmail.com>
2023-01-30 15:03:10 +07:00
Skorpionm
e12958d408
[FL-3082] WS: add protocol LaCrosse-TX (TFA Dostmann) (#2292)
* WS:  add protocol LaCrosse-TX  (TFA Dostmann)
* WS: fix syntax
* WS: fix MSG_TYPE
* WS: fix PVS

Co-authored-by: あく <alleteam@gmail.com>
2023-01-29 18:08:26 +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
Giacomo Ferretti
eee5c35400
NFC: add MIFARE MINI support (#2307)
* NFC: add MIFARE MINI support
* Move new value to end of enum
* nfc: added missing unit test

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-01-27 12:51:47 +07:00
Sergey Gavrilov
709fa633ff
ELF-loader: wait for notification to complete on app exit (#2335) 2023-01-25 12:15:01 +07:00
hedger
a0814aab31
[FL-3081] fbt: removed DEBUG_TOOLS & FAP_EXAMPLES flags (#2291)
* fbt: deprecated DEBUG_TOOLS & FAP_EXAMPLES flags
* fixes for PVS warnings
* scripts: fbt: fixed leaking PYTHONHOME
2023-01-17 18:07:47 +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
Nikolay Minaylov
ad9d746a27
BadUSB backspace/delete fix (#2288)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-01-11 16:58:51 +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
Maksim Derbasov
2c450bd835
Show region information in sub-GHz app (#2249)
* Show region info in sub-GHz app
* SubGhz: reset widget on region info scene exit
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2023-01-07 04:28:28 +09:00
yan0f
9740dd8c75
Fix typos in source code (#2258) 2023-01-07 01:06:50 +09:00
あく
41c43f4805
Various improvements: Toolbox, Updater and Unit Tests. (#2250)
* Toolbox: add seek to character stream method. UpdateUtils: reverse manifest iterator. UnitTests: more unit tests.
* Target: bump API version. Updater: delete empty folders from manifest before resource deployment.
* UnitTests: use manifest from unit_tests folder instead of global one
* Make PVS happy
* sector cache: allocate always
* Better PVS config for manifest.c
* PVS: Move exception outside of condition
* PVS: remove confusing condition

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2023-01-06 16:31:17 +10:00
Avery
06cf1bb868
Gui: change data ownership model in submenu, own text by default (#2217)
* GUI: Refactor submenu to internally use FuriStrings
* NFC: Rework DESFIRE dynamic info submenu
* GUI: don't mutate label when drawing submenu
* Get rid of submenu_add_item_cstr
* increase api version
* Get rid of submenu_set_header_cstr
* rollback api version
* Documentation
* RFID: use new submenu api

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2022-12-30 12:44:07 +09:00
あく
b11b9f1b38
Gui: Direct Draw API (#2215)
* Furi: allow on-fly thread priority change. Gui: Direct Draw API. DirectDraw debug app.
* Gui: drop input in direct draw
* Furi: handle priority change for starting threads
* DirectDraw: rollback to FreeRTOS primitives for priority change
2022-12-29 21:35:26 +10:00
Astra
d58b9f3fe8
Fix MFC bruteforce progress bar (#2203)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-29 00:09:33 +09:00
Tiernan
90573fbeed
Picopass read bug fixes: (#2201)
* fix checking user elite keys
* include calculated Kd when saving cards

Co-authored-by: あく <alleteam@gmail.com>
2022-12-28 22:04:58 +09:00
Astra
ded7e727d0
[FL-3060] New MFC Bruteforce animation (#2190)
* Change the wording in the headers
* Add support for text in the progress bar
* New MFC key bruteforce screen
* Typo fix
* nfc: rename Flipper Dict to System Dict
* elements: fix types
* Display the correct key attack sector

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-12-27 18:14:03 +09:00
Nikolay Minaylov
08eb666f7b
[FL-3000] File browser: Empty folder label (#2188)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 17:39:04 +09:00
Skorpionm
1390f10a6f
[FL-3068] SubGhz: add Holtek_ht12x protocol (#2187)
* SubGhz: add Holtek_ht12x protocol
* SubGhz: add unit_test holtek_ht12x
* SubGhz: correct string formatting

Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 17:29:21 +09:00
Nikolay Minaylov
f43b76efc2
[FL-3021] USB/BLE HID Remote icon fix (#2179)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 17:03:56 +09:00
Sergey Gavrilov
9192520c70
Modules: locking view model (#2189)
* Popup, dialog_ex: locking model
* Desktop: do not use the model where it is not needed

Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 04:46:05 +09:00
Georgii Surkov
8582670a34
[FL-2811] Fix PVS-Studio warnings (#2142)
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-12-26 21:13:30 +09:00
Sergey Gavrilov
c2cb14834d
[FL-3062] Fix unit tests (#2180)
* SubGHZ unit test: fail if async_tx is not started
* Memgr unit test: fix for multithreaded enviroment
* Unit tests: fix failed_tests count
* Unit tests: remove debug code
* Double update test: increase flipper detection time

Co-authored-by: あく <alleteam@gmail.com>
2022-12-24 23:13:21 +09:00
あく
b0970953b9
[FL-3067] WeatherStation: fix incorrect history index increment (#2186) 2022-12-23 22:46:35 +09:00
Skorpionm
566e80abf6
[FL-3063] SubGhz: fix start navigation (#2183) 2022-12-23 17:31:14 +09:00
あく
5856746fc9
iButton: fixed notification on successful read (#2169) 2022-12-21 12:07:14 +03:00
Nikolay Minaylov
e0d716647c
[FL-3053] Archive browser delete fix (#2163) 2022-12-20 23:46:05 +09:00
Kowalski Dragon
a9c2b4d6a0
Desktop: dummy mode improvements. Fixes: correct scrolling text, correct AM/PM in Clock. (#2160)
* Show passport instead of app if SD/app is missing 
* Desktop: cleanup dummy mode code and add more apps
* Gui: fix incorrect trimming in scrollable text

Signed-off-by: Kowalski Dragon (kowalski7cc) <kowalski7cc@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-12-20 22:57:58 +09:00
gornekich
4cee550cc6
[FL-2809] Rework BLE key storage (#2154)
* bt: disconnect first on profile change
* bt keys: rework bt keys
* saved struct: add payload size getter to API
* bt: rework bt with new key storage API
* bt: add keys storage operation to bt API
* hid: save bt keys on sd card
* bt: add unit tests for key storage
* bt: working profile switch
* bt: cleanup
* bt hid: change keys storage path

Co-authored-by: あく <alleteam@gmail.com>
2022-12-20 21:32:24 +09:00
あく
e7107e39f7
Gui: scrollable long file names in FileBrowser and Archive Browser (#2159)
* Gui: scrollable long file names in FileBrowser
* Archive: scroll long file names
* Gui: elements code cleanup
2022-12-20 20:11:52 +09:00
Kowalski Dragon
2bdc34274f
Clock v1 (#1750) 2022-12-20 06:43:32 +09:00
Astra
fa87216a1e
[FL-2970] Untangle NFC_APP_FOLDER from nfc_device (#2124)
* Untangle NFC_APP_FOLDER from nfc_device
* Make the folder an internal part of the nfc device struct
* Move the NFC folder definition to the nfc allocator
* Move the NFC folder definition to the allocator in the nfc magic FAP
* Replace furi_string_printf with furi_string_set for folder allocation and handle the cases when folder has no slashes
* Build and allocation fixes

Co-authored-by: あく <alleteam@gmail.com>
2022-12-20 04:57:48 +09:00
Skorpionm
a81a5ca57c
[FL-3052] WS: add choice fahrenheit/celsius (#2149)
* WS: add choice fahrenheit/celsius
* WS: fix syntax

Co-authored-by: あく <alleteam@gmail.com>
2022-12-20 04:22:57 +09:00
あく
94453d9100
[FL-3046] Notification: fix recursive speaker acquire #2147 2022-12-19 20:57:44 +09:00
Nikolay Minaylov
f10e82c64d
[FL-3024] Locale settings (#2137)
* Locale settings
* Time/date format fix
* Locale: add docs, enums for HAL, cleanup.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-12-19 18:38:20 +09:00
Skorpionm
2dea6969fe
[FL-3040] Audio support for SubGhz (#2131)
* Furi_hal_speaker: multiple resource usage
* Furi_hal_speaker: fix multiple resource usage
* Furi_hal_speaker: fix music_player_worker
* Furi_hal_speaker: fix mutex release queue handling
* SubGhz: add furi_hal_subghz_set_debug_pin
* SubGhz: add sound SubGhz Read, SubGhz Read RAW
* furi_hal_speaker: add __attribute__((warn_unused_result)) for furi_hal_speaker_acquire()
* Furi_hal_speaker: fix review comments
* SubGhz: cleanup naming and locking timings
* SubGhz,FuriHal: fix speaker deinit logic and subghz speaker release sequence
* FuriHal: crash on speaker acquire/release from IRQ
* Furi, FuriHal: FURI_WARN_UNUSED and documentation update
* Bump api symbols version: fix broken speaker

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-12-17 07:20:10 +09:00
Skorpionm
b5e7bb3334
[FL-3043] SubGhz: add SMC5326, UNILARM protocol (#2138)
* SubGhz: add SMC5326 protocol
* SubGhz: add unit_test smc5326 protocol

Co-authored-by: あく <alleteam@gmail.com>
2022-12-16 05:25:43 +09:00
Skorpionm
327df4a813
[FL-3034] WS: fix protocol and add new (#2116)
* WS: fix Nexus-TH potocol
* WS: add Oregon_v1 protocol
* WS: add AmbientWeather-TX8300   protocol

Co-authored-by: あく <alleteam@gmail.com>
2022-12-14 17:27:55 +09:00
usiegl00
1c12613863
Prevent hacking related backgrounds from being displayed in dummy mode. (#2107)
* Prevent hacking related backgrounds from being displayed in dummy mode.
* Add function call to animation manager to set dummy mode.
* Reboot retains dummy mode background.

Co-authored-by: あく <alleteam@gmail.com>
2022-12-12 21:46:41 +09:00
Kassim
d541f142c8
Add Mouse Jiggler to HID Remote (#2113)
* feat: add Mouse Jiggler to HID Remote
* move processing to use furi_timer instead of draw loop
* HidApp: refine mouse jiggler, move timer work into enter/exit callbacks

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-12-12 18:47:22 +09:00
MX
87fb852bcf
Weather Station: Fix display of temps lower than -9 (#2120)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-12 04:29:58 +09:00
Georgii Surkov
2954ec6d97
[FL-3025] IR button overflow fix (#2115)
* Allow for more than 255 button_menu items
* Allow more than 255 items in submenu
* Fix button_menu_reset

Co-authored-by: あく <alleteam@gmail.com>
2022-12-11 03:05:52 +09:00
MX
31a9a3f5f3
SubGHz: Improve signal text visibility in history (#2111)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-11 02:31:07 +09:00
MX
01e24f6837
WS: Show received signal age (#2087)
* Feat: Show received signal age: by @LY2NEO with some fixes from me
* WS: Signal age display GUI fixes and improvements
* WeatherStation: refactor variable names
* WS: GUI fixes and improvements: add icons by @Karator and apply UI changes
* Weather Station: proper event flow for view redraw.

Co-authored-by: あく <alleteam@gmail.com>
2022-12-11 00:30:03 +09:00
Astra
7fb1af07b8
[FL- 3014] Untangle NFC from Unit Tests (#2106)
* Untangle NFC from Unit Tests
* nfc tests: add log error

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-12-10 22:02:34 +09:00
Nikolay Minaylov
b85f533a20
VCP session close fix (#2108)
* VCP thread check before flag set
* VCP running flag check
* Cli vcp: more clear CLI_VCP_DEBUG logs
* Cli: move tag to debug log macro

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2022-12-10 03:03:19 +09:00
Shane Synan
5c3a5cd8f7
FuriHal, Power, UnitTests: battery charging voltage limit API (#2063) 2022-12-08 15:57:49 +09:00
Skorpionm
6a470a464e
[FL-3002] SubGhz: add RPC error (#2097)
* [FL-3002] SubGhz: add RPC error
* RPC_APP: rpc_system_app_error_reset, automatic error reset when a new event is executed
* SubGhz: fix text error
* SubGhz: fix text error 2
* SubGhz: add error description
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2022-12-08 14:49:54 +09:00
gornekich
c535b8f4ce
[FL-3017], [FL-3018] Change NFC emulation screens (#2102)
* nfc: fix emulate uid view
* archive: hide dot files in apps
* nfc: fix other emulation scenes view
2022-12-08 01:47:55 +09:00
Nikolay Minaylov
2daf39018b
[FL-3001] File browser base folder (#2091)
* File browser base folder
* Format sources
* FuriHal: bump api version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-12-07 23:17:41 +09:00
MX
741ad34b2c
WS: Oregon2 - add support for temp sensor RTHN129 (#2088)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-07 22:28:18 +09:00
0xchocolate
e42dda7cfb
UART echo: fix race conditions causing null pointer dereference (#2092)
Co-authored-by: 0xchocolate <0xchocolate@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-12-07 20:46:50 +09:00
gornekich
9a21dae29c
[FL-3008], [FL-2734], [FL-2766], [FL-2898] NFC bug fixes (#2098)
* nfc: rework mf classic update
* nfc: rename cache folder to .cache
* nfc: fix ATQA order bytes in nfc files
* file browser: add hide dot files option
* nfc: fix iso-14443-4 uid cards emulation
* nfc: fix unit tests

Co-authored-by: あく <alleteam@gmail.com>
2022-12-07 19:52:44 +09:00
あく
c43ec414bb
FuriHal: add i2c unit tests (#2089)
* FuriHal: add i2c unit tests
* FuriHal: restructure unit tests

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2022-12-07 19:43:40 +09:00
gornekich
e40376bc63
NFC: fix NTAG203 info scene #2078 2022-12-02 21:41:34 +09:00
Skorpionm
2a6a3a1bf7
[FL-2955], [FL-2953] SubGhz: fix RAW "Send never ends" (#1979)
* SubGhz: fix RAW "Send never ends"
* SubGhz: delete comments
* SubGhz: RAW file parsing speed increase
* SubGhz: fix level_duration_is_wait
* SubGhz: modification furi_hal_subghz_async_tx_refill
* SubGhz: furi_hal_subghz_stop_async_rx
* SubGhz: hal unit test and better async tx yield handling
* FuriHal: proper async tx end in subghz, vibro on power off
* FuriHal: variable naming in subghz
* SubGhz,FuriHal: extreme timings in subghz hal unit tests, remove memset in async tx buffer fill routine
* FuriHal: small refinements in subghz

Co-authored-by: あく <alleteam@gmail.com>
2022-11-30 20:41:23 +09:00
Никита Тимофеев
b70395eba9
Allow "Detect reader" for unsaved card (#2045)
* Allow "Detect reader" for unsaved card
* Add missed detect reader deed

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 22:10:02 +09:00
Sergey Gavrilov
297f185ef4
Blocking USB driver API (#2009)
* invalidate memmgt thread dict
* Core: rollback memmgt thread dict invalidation
* Dialogs: move api lock to toolbox
* HAL: blocking usb API
* HAL usb: fix api return data
* HAL usb: api optimization
* api lock: test results
* Fix build errors
* DAP Link: fix imports
* Crash when malloc in ISR
* Fix dap-link copypaste error
* Moar memory management crashes.
* Crash when malloc in IRQ, not ISR
* USB-UART: Blocking VCP mode switch

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-11-29 21:50:55 +09:00
Georgii Surkov
0261dc3075
[FL-2957] Unified Info API, App Error, Data Xchange (#1998)
* Update protobuf definitions
* Add Property subsystem entry point function
* Key-based system info and power info function stubs
* Remove unneeded functions
* Working power info
* Working system info
* Replace #defines with string literals
* Remove unneeded field
* Simplify system info formatting
* Refactor output callback handling
* Handle the last info element correctly
* Optimise power info, rename methods
* Add comments
* Add power debug
* Remove unneeded definitions
* Rename some files and functions
* Update protobuf definitions
* Implement App GetError and DataExchange APIs
* Send GetErrorReply with correct command_id
* Add RPC debug app stub
* Add more scenes
* Add warning, increase stack size
* Add receive data exchange scene
* Improve data exchange
* Add notifications
* Update application requirements
* Bump format version for property-based infos
* Correctly reset error text
* RCP: sync protobuf repo to latest release tag

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-11-29 18:08:08 +09:00
Georgii Surkov
849afc8798
[FL-2998] IR TV Universal Remote refactor and docs (#2052)
* Rename signals for IR TV universal remote
* Update UniversalRemotes.md

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 04:49:51 +09:00
MX
97e8da7a7b
Weather Station: Add protocol - Auriol HG0601A (#2056)
* Add protocol Auriol hg0601a: Made by @LY2NEO
* Improve readability of code: fix protocol name

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 04:08:28 +09:00
あく
769c53b6da
[FL-2977] Gui: better navigation in file browser dialog (#2014)
* Gui: proper navigation in file browser dialog
* Trim file name from start path
* File list loading fix
* File list offset fix

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2022-11-29 03:59:24 +09:00
Yukai Li
6b47bc1af4
Nfc: NTAG password auto capture (and other password-related changes) (#1843)
* nfc: MFUL minor cleanup
* nfc: Add mechanism to pass event data
* nfc: Add NTAG authentication event to emulation
* nfc: Rename enum member to align with existing convention
* nfc: Add function to determine whether MFUL is fully captured
* nfc: Fix emulation of incompletely-read password-protected MFUL
* nfc: Add reader password capture scene
* nfc: Set default MFUL password input to 0xFFFFFFFF
* nfc: Fix MFUL auth counter loading
* nfc: Be explicit about using manual auth method when using auto unlock
* nfc: Fill in MFUL has_auth when loading file
* nfc: Fix MFUL auth success usage, remove unused variable
* nfc: Display PWD and PACK in MFUL info if available
* nfc: Remove unnecessary include
* nfc: Add unlock options to loaded MFUL menu
* nfc: Move set default MFUL password. This way it can be edited if needed instead of reentered
* nfc: Fix unlock menu not maintaining selection index
* nfc: Move captured MFUL auth data from worker to device data
* nfc: Attempt to authenticate with default PWD when possible when reading NTAG
* nfc: Don't try to auth NTAG on read if we already authed
* nfc: Add title for all pages read but failed auth for NTAG auth
* nfc: Add faster auth callback patch
* lib: Remove scons submodule from index
* nfc: Revise MFUL unlock UI flow
* nfc: Disallow MFUL unlock with reader if card not read yet. Trying to read first results in either needing to make a new scene or badly jury rigging other scenes, so let's just not do that
* f7: Bump API symbols
* Format code

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 03:16:22 +09:00
Stephen Kent
a82c3ccc22
NFC: Fix MIFARE DESfire info action to open app menu (#2058)
When examining a MIFARE DESfire card, selecting "More >" currently leads
to the file menu for a single application even if the scanned card
contains multiple applications.

On examining the source code, a MIFARE DESfire application selection
menu is present as `NfcSceneMfDesfireData`. This change updates the
MIFARE DESfire Info "More >" action to open the application selection
menu. That menu may then be used to open the file selection menu for any
application in the read MIFARE DESfire card data.

Tested interactively with
c4cbdcd947/nfc/Desfire.nfc

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 02:05:24 +09:00
Maksim Derbasov
e121e6a287
Fix for spelling (#2051)
* Fix for spelling
* Review iteration

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 01:51:51 +09:00
Smooklu
03140e4349
Bluetooth Remote to HID Remote (#2039)
* WIP BT + USB Hid
* Refactoring Submenus/Views
* Changed to bool instead of enum
* Revamp finished
* Removed usb_keyboard
* Renaming device_types that can do USB+BT
* Removed error view
* Renaming folder structure and file names
* Fixed views.h
* Fixed hid.h
* Fixed hid_mouse.c
* Fixed a accidetnal renaming
* Apps: add missing view remove call in hid app destructor
* Hid app: hal abstraction, split into bluetooth and usb remotes. Fbt: customizable icon symbol name.
* Hid app: update usb remote icon
* Hid: single status change routine
* HID App: final touches
* HID App: rename BtHidTikTok to HidTikTok, format sources
* HID App: fix comma in keyboard

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 01:27:16 +09:00
Nikolay Minaylov
ffa6249b64
[FL-2985] Fix U2F HID vulnerability #2042
Co-authored-by: あく <alleteam@gmail.com>
2022-11-24 03:12:53 +09:00
Skorpionm
9bb0dbaa3e
SubGhz: frequency analyzer. 2dbi desensitization, rssi averaging to reduce jitter, new rssi indicators in log_mode, GUI fix (#2020)
Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 22:31:39 +09:00
Kyhwana Pardus
1c8451fad4
Fix typos in subghz_cli.c (#2030)
Fix up the "receive" typos

Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 22:23:11 +09:00
MangoTornado
669822cdd2
Fix typos in various outputs (#2032)
* Fix typos in various outputs
* Update u2f_view.c

Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 22:15:08 +09:00
Sergey Gavrilov
c511c67e71
Core: thread allocation shortcut (#2007)
* Core: thread alloc+set shortcut
* Apps: use thread allocation shortcut
* Mark some service threads as services
* Init BT as soon as possible

Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 21:49:17 +09:00
Skorpionm
b9c483fbf8
[FL-2975] WS: add protocol GT-WT02 (#2001)
* WS: add protocol GT-WT02
* WS: fix text "About" scene

Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 18:44:49 +09:00
Skorpionm
00fcd9cfcd
[FL-2976] SubGhz: add protocol "Ansonic" (#2000)
* SubGhz: add protocol "Ansonic"
* SubGhz: fix encoder "Ansonic"
* SubGhz: add unit_test "Ansonic"
* SubGhz: fix flag
* SubGhz: protocol "Ansonic" fix timing

Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 18:29:30 +09:00
Nikolay Minaylov
73441af9c6
BadUSB and Archive fixes (#2005)
* BsdUsb: fix empty lines handling
* Archive: folders and unknown files rename fix

Co-authored-by: あく <alleteam@gmail.com>
2022-11-12 20:55:42 +09:00
MX
3c7a4eeaed
iButton: Fix header "Saved!" message stays on other screens (#2003)
* iButton: Fix header "Saved!" message stays on other screens
* SubGhz,iButton: proper popup reset

Co-authored-by: あく <alleteam@gmail.com>
2022-11-12 18:45:19 +09:00
あく
90cefe7c71
[FL-2975] Bug fixes and improvements: Furi, Input, Cli (#2004)
* Furi: configurable heap allocation tracking
* Furi: relax restriction in thread heap setter asserts, apply heap tracking setting on app start instead of thread allocation
* Furi: hide dangerous heap tracking levels in release build
* Input: fix non-working debounce
2022-11-12 12:46:04 +04:00
Skorpionm
721ab717d7
[FL-2961] SubGhz: properly handle storage loss (#1990)
Co-authored-by: あく <alleteam@gmail.com>
2022-11-11 02:14:44 +09:00
Astra
e7c4b40dbe
Force card types in extra actions (#1961)
* Mifare Classic forced read
* Add all the needed card types
* nfc: remove unused scene
* nfc: remove unused worker state
* nfc: fix read card type scene state usage
* nfc: move NfcReadMode to NfcDevData struct
* nfc: fix bank card reading and scene navigation
* nfc magic: fix magic deactifate function

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-11-11 01:29:57 +09:00
Astra
820afd2aec
NFC Unit tests part 1.1 (#1927)
* Mifare Classic 1/4K, 4/7b uid, NFC-A: NFC-A is not complete yet, as there are no 4b uid tests. Also, Mifare Classic tests don't cover the key cache yet.
* NFC unit tests require access to the NFC app
* Made nfc_device_save accept full path as an argument
* Move from cstrs to furi strings and fix logic
* nfc tests: fix memory leak
* nfc: add mf_classic_get_total_blocks() to API
* nfc tests: simplify nfc tests
* nfc: fix memory leak in shadow file saving
* nfc: fix set uid scene
* nfc: fix saving files
* nfc: fix preload nfc file path
* nfc: remove comments

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-11-11 01:20:35 +09:00