Commit graph

642 commits

Author SHA1 Message Date
あく
2a26680acb
Furi: more gpio checks in HAL (#2549)
* Furi: more gpio checks in HAL
* Nfc: do not spawn service thread if it is already spawned

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2023-04-06 10:19:39 +08:00
MX
cb12369b1c
Merge branch 'dev' into custom-buttons 2023-04-01 21:59:22 +03:00
MX
bd78c3b3ea
OFW PR 2475: AVR ISP Programmer FAP by @Skorpionm
merging before OFW, more testing needed!
2023-04-01 21:40:37 +03:00
gid9798
5603ed7ebb Transferring and combining the functionality of "custom buttons" into a separate file. 2023-04-01 21:37:04 +03:00
MX
d4a20bc37a
Merge branch 'fz-dev' into dev 2023-04-01 17:41:05 +03:00
hedger
f192ccce2c
FatFS: use rtc for timestamping (#2555)
* fatfs: use rtc
* fatfs: removed duplicate get_fattime declaration
* pvs: fixed warnings for fatfs timestamp
* fatfs: fixed seconds packing
* FuriHal: critical section around RTC datetime access
* FatFS: remove unused configration defines, update documentation
* FuriHal: checks instead of assets in RTC

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-01 23:50:30 +10: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
MX
001e00d84a
fbt format, aprimatic fixes 2023-03-26 14:59:21 +03: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
MX
a81b794475
Merge branch 'fz-dev' into dev 2023-03-22 18:36:59 +03:00
Georgii Surkov
8b224ecb15
[FL-3179] 1-Wire Overdrive Mode (#2522)
* Separate ibutton to its own module, add one_wire to f18
* Move onewire cli to a separate app
* Add definitions for normal and overdrive timings
* Update api definitions
* Add rough overdrive timings definition for onewire emulation
* Remove one_wire_host_timing.h
* Add rough overdrive timings for onewire host
* Improve overdrive mode
* Working overdrive mode from flipper to flipper
* Update thermometer example app
* Turn on otg power when running thermometer example app
* Implement reset overdrive switching
* Always exit out of overdrive mode
* Improve overdrive timings
* Fix typos
* Fix reset behaviour
* Use overdrive mode everywhere in DS1996
* Improve comments
* Bump API version

Co-authored-by: あく <alleteam@gmail.com>
2023-03-22 23:54:06 +09:00
Nikolay Minaylov
1f236ede0e
[#2501] Disable UART IRQs by default (#2523)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-22 23:41:14 +09:00
MX
0d03039c19
Merge branch 'fz-dev' into dev 2023-03-21 18:05:13 +03:00
Sam Edwards
6089e9210f
BadUSB: implement boot protocol (#2496)
* BadUSB: remove unused out EP
* BadUSB: do not use iad for a single interface
* BadUSB: implement the boot protocol
* BadUSB: implement SET_PROTOCOL
* Improve HID report descriptor readability
* CODEOWNERS update

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-03-21 23:53:07 +09:00
Nikolay Minaylov
ce50b09b28
Remove hmac_sha256 from public API (#2519)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-21 21:29:54 +09:00
MX
df8a57c972
Merge branch 'fz-dev' into dev 2023-03-21 01:38:41 +03: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
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
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
2cefc9aab0
Security+ 2.0 custom buttons 2023-03-16 18:14:39 +03: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
MX
c560394358
External module power bug fixes 2023-03-13 18:43:50 +03: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
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
1249ce9b94
Option to disable auto 5v power for external radio module
Now you can use 3.3v modules without wasting a battery (bonus a bit low noise on power line)
2023-03-09 04:02:31 +03:00
MX
7a413f390d
NFC Magic fix - reinit nfc at start 2023-03-09 02:18:51 +03:00
MX
16df48bac6
Fix external module power disable 2023-03-09 01:23:57 +03:00
MX
ab91dc1882
External module 5v power issues fixes 2023-03-08 01:09:17 +03:00
MX
cad2f2a065
Merge branch 'fz-dev' into dev 2023-03-08 00:46:38 +03: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
MX
f0471a62e5
Merge branch 'fz-dev' into dev 2023-03-07 16:45:40 +03: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
MX
e0905597fc
Merge branch 'fz-dev' into dev 2023-03-07 13:09:06 +03:00
MX
6511252140
Fix external module power init 2023-03-06 14:23:59 +03:00
Michal Suchánek
c0e0403b44
Fix SD card CID parsing (#2463)
The recent SD rewrite dropped a couple of lines from the CID parsing
function resulting in zero manufacturing date displayed.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
2023-03-06 16:44:26 +09:00
MX
f25af91d23
Fix issues with external module 5v power 2023-03-06 10:08:59 +03:00
MX
b90060e574
Merge branch 'fz-dev' into dev 2023-03-03 23:22:40 +03: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
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
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
9c9688dd5b
Nice One manual adding support 2023-02-28 00:41:14 +03:00
MX
2c95a7cba4
Somfy Telis - Custom buttons + Prog mode 2023-02-28 00:02:30 +03:00
MX
182296d8af
Nice flor s - custom buttons 2023-02-27 01:13:21 +03:00
MX
5b0c5a82c0
Merge branch 'fz-dev' into dev 2023-02-26 21:24:38 +03: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
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
MX
b53924c27a
Infrared debug settings - output pin 2023-02-26 05:23:26 +03:00
MX
ba09da107a
Worst code ever
subghz imporvements

- hold right to delete signal in read
- extra buttons in saved signals
- ability to change counter increase value in debug
2023-02-25 22:28:35 +03:00
Round-Pi
e9aa2d3449
Merge branch 'DarkFlippers:dev' into dev2 2023-02-20 21:24:32 -05:00
MX
7d4bffb575
Merge branch 'fz-dev' into dev 2023-02-21 03:00:48 +03:00
Round-Pi
b89902942b typo combing 2023-02-20 10:55:53 -05:00
Astra
b15c4afea1
[FL-3122] Re-init NFC when starting the worker (#2399)
* Re-init NFC when starting the worker
* FuriHal: cleanup nfc init/deinit sequence
* FuriHal: a little bit more defensive nfc init

Co-authored-by: あく <alleteam@gmail.com>
2023-02-20 23:44:03 +09:00
MX
b5a60dc10b
Merge branch 'fz-dev' into dev 2023-02-13 19:30:36 +03:00
MX
f4af57d15a
Revert "Temp fix of broken ibutton emulation"
This reverts commit 1831902fbd.
2023-02-13 19:29:48 +03:00
Nikolay Minaylov
bc06d407f3
[FL-3113] BadUSB: disable CDC mode, USB mode switch fix (#2394) 2023-02-14 00:43:29 +09:00
MX
3747f95d5a
Fix external cc1101 module issues
SubGHz HAL fixes, by @Quen0n
2023-02-13 00:43:58 +03:00
MX
08acbda895
Allow 467.75 MHz by default 2023-02-12 02:48:20 +03:00
MX
27012b6be7
SubGHz HAL Fixes 2023-02-12 02:41:11 +03:00
MX
1831902fbd
Temp fix of broken ibutton emulation
Reverted lib changes and added old api

TODO: Find what causes that issue, issue also present in official dev branch
2023-02-11 21:09:39 +03:00
MX
24a4ae8014
Fix external module timings drift
TODO: Need to improve both modules timing accuracy
2023-02-11 03:57:31 +03:00
MX
bd2d7bf42f
Small fixes 2023-02-10 22:48:35 +03:00
MX
e9df7c9b72
Merge pull request #322 from assasinfil/alutech_at_4n
Alutech at 4n
2023-02-10 22:33:04 +03:00
assasinfil
affef106ea
Merge remote-tracking branch 'origin/dev' into alutech_at_4n 2023-02-10 16:38:27 +03:00
assasinfil
0e0046c803
Merge remote-tracking branch 'origin/dev' into kinggates_stylo_4k 2023-02-10 14:16:25 +03:00
MX
4e02ac3442
Fix external CC1101 support and internal module debug 2023-02-10 02:09:29 +03:00
MX
a098e0561e
Temp fix
BUG: Now sound works but sending signal with sound on doesn't actually send signal!!!
Need to return previous implementation with 2 channel Timer or find another way
2023-02-10 00:56:29 +03:00
assasinfil
727c21d60a
Merge branch 'dev' into kinggates_stylo_4k 2023-02-09 22:47:53 +03:00
assasinfil
2bd80f510a
Init encoder 2023-02-09 22:45:02 +03:00
MX
539c4e2dd0
Fixes & imporvements
Use our custom icon for Bin RAW
2023-02-09 17:49:28 +03: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
assasinfil
e17877b6a1
Kinggates stylo 4k tx realization
Co-authored-by: MX <10697207+xMasterX@users.noreply.github.com>
2023-02-09 12:57:22 +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
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
MX
a7a4f9b885
SubGhz hal fixes 2023-02-08 23:31:27 +03:00
MX
6f44900e05
Update API symbols 2023-02-08 21:24:21 +03:00
MX
ed78c4ca04
Fixes 2023-02-08 20:49:06 +03:00
MX
bbc1ba62fc
Merge branch 'fz-dev' into dev 2023-02-08 20:12:10 +03: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
MX
d6d7a5ece2
Fix merge issue 2023-02-08 17:48:07 +03:00
MX
0dccbe28bb
Merge branch 'fz-dev' into dev 2023-02-08 17:15:17 +03: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
MX
b7c2b9eff1
Change API version back 2023-02-08 12:23:04 +03:00
MX
81316255f9
Fix after merge issues pt1 2023-02-08 12:22:11 +03:00
MX
6c768f2019
Merge branch 'fz-dev' into dev 2023-02-08 12:09:57 +03: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
MX
e4c9568867
Merge branch 'fz-dev' into dev 2023-02-07 18:37:30 +03:00
MX
0ee04fb968
Merge branch 'fz-dev' into dev 2023-02-07 18:36:02 +03:00
あく
1eda913367
[FL-3075] Pin Reset (#2367)
* Nfc: fix PVS warnings
* Factory reset combo, initial version
* Recovery screen and correct input pin initialization
* Better pin and factory reset message
* Down to cancel factory reset
2023-02-08 01:35:49 +10:00
Krzysztof Zdulski
d035872cf6
nfc: Add mifare classic value block commands (#2317)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-02-07 12:21:25 +09:00
MX
cc8066d9a0
???
for some reason fbt says it should be removed
need to find why it differs from ofw
2023-02-04 16:09:40 +03:00
MX
425f8f0254
Merge branch 'fz-dev' into dev 2023-02-03 23:45:57 +03:00
あく
52680fd14e
FreeRTOS: update to 10.5.1 (#2353) 2023-02-04 04:09:20 +10:00
Victor
5458157924 Added external CC1101 support 2023-02-02 22:47:50 +03: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
Milk-Cool
b1496ee9bd
Furi: getter for current thread stdout write callback (#2344) 2023-01-30 14:54:15 +07:00
Petr Portnov | PROgrm_JARvis
f5fe0ff694
Furi: make furi_is_irq_context public (#2276)
* Furi: make `furi_is_irq_context` public
* Furi: proper name and documentation for furi_kernel_is_irq_or_masked.
* Target: bump symbol table version
* Furi: proper doxygen context for warnings

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-01-29 17:12:24 +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
126a9efd09
NFC: change from int8_t to uint8_t (#2302)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-01-27 15:21:52 +07:00
LTVA1
34ff250eea rename to canvas_set_custom_u8g2_font 2023-01-25 08:18:32 +03:00
MX
792b035cac
Not bumping api version 2023-01-19 20:03:02 +03:00
assasinfil
3dd76f5c2f
Added somfy keytis encoder 2023-01-19 14:49:00 +03:00
MX
27826f95ca
Merge branch 'dev' into somfy_encoder_new 2023-01-18 19:01:22 +03:00
MX
c708a301f5
Merge branch 'fz-dev' into dev 2023-01-18 18:26:49 +03:00
TQMatvey
729a1b5788 somfy_telis: encoder is almost done
Co-authored-by: assasinfil <nfa57643@gmail.com>
2023-01-16 19:41:16 +07:00
Georgii Surkov
75e9de12b0
[FL-3078] Per protocol signal repeat count (#2293)
* Better Infrared protocol file structure
* Rename InfraredProtocolSpec to InfraredProtocolVariant
* Slightly better names
* Add repeat count field to protocol variant description
* Repeat the signal the appropriate number of times when brute-forcing
* Repeat the signal the appropriate number of times when sending via worker
* Better signal count logic in infrared_transmit
* Better variable names
* Convert some raw signals to messages in tv.ir

Co-authored-by: あく <alleteam@gmail.com>
2023-01-13 16:50:19 +03:00
TQMatvey
b30aa890e6 initial Somfy Telis Encoder (doesnt work) 2023-01-11 19:47:45 +07:00
MX
a94c553c5a
Merge branch 'fz-dev' into dev 2023-01-07 01:59:20 +03:00
LTVA1
50ee2eb8aa
update API symbols 2023-01-06 22:32:50 +03: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
MX
82f8ad4540
Add 350Mhz to default range
Actually this frequency is used by some part of home devices like ceiling fans
2023-01-03 18:40:03 +03:00
MX
6eb6297ab7
Merge branch 'fz-dev' into dev 2022-12-30 16:34:20 +03:00
Georgii Surkov
95f8895b43
Add float_tools to SDK api (#2225) 2022-12-30 15:52:53 +03:00
MX
e8e000d17b
Merge branch 'fz-dev' into dev 2022-12-29 18:08:51 +03: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
Thomas Roth
26e5527a93
Mifare dictionary attack performance improvements. (#2173)
* NFC dictionary attack performance improvements.
* Remove unnecessary assignment
2022-12-29 14:20:01 +09:00
MX
4e3506ab2e
Show OTP flipper region on debug and about screens
but keep region zero for ble and usb hardware info report
2022-12-29 01:43:24 +03:00
MX
5db9238331
Update API 2022-12-27 16:09:23 +03:00
MX
473f9c0e44
Merge branch 'fz-dev' into dev 2022-12-27 16:06:27 +03:00
Sergey Gavrilov
727f043747
OpenOCD scripts (#2101)
* Scripts: option bytes check
* Scripts: option bytes set
* Scripts: openocd config
* Scripts: increased readability, process IPCCBR option byte
* Scripts: split dap_ob.py
* Updater: process IPCCBR option byte
* Scripts: move chip-related functions to chip definition
* Scripts: freeze CPU registers
* Scripts: flash programming routine
* ob.py
* otp.py
* otp: handle errors correctly
* downgrade to python 3.9
* correct type hinting
* Scripts: fix path to ob.data

Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 21:59:36 +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
MX
6d368c3e3a
Merge branch 'fz-dev' into dev 2022-12-26 22:42:21 +03: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
MX
0bfaaa0fe1
SubGHz: Add manually +2 new remotes
Allow manual creation of Nice Flor S, Nice Smilo
2022-12-21 15:11:12 +03:00
MX
7e049d185f
Merge branch 'fz-dev' into dev 2022-12-20 16:19:43 +03: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
MX
084cdc6ad0
Merge branch 'fz-dev' into dev 2022-12-19 16:57:00 +03: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
MX
96a97f1bfb
Merge branch 'fz-dev' into dev 2022-12-17 07:25:49 +03: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