Commit graph

262 commits

Author SHA1 Message Date
あく
97fbd84e08
FuriHal, Infrared, Protobuf: various fixes and improvements (#2845)
* Infrared: fix crash caused by null-ptr dereference in interrupt call. FuriHal: callback checks in interrupt handlers. Protobuf: bump to latest.

* DesktopSettings: allow application browser as favourite

* Format sources

* FuriHal: fix pvs warnings
2023-07-05 17:56:52 +04:00
Eric Betts
08bafc478e
Picopass fix ice (#2836)
* Fix copypaste error
* Add iCE key to dictionary
* Write iCE key as elite, others with standard kdf

Co-authored-by: あく <alleteam@gmail.com>
2023-07-05 18:26:50 +09:00
Skorpionm
8c93695d01
[FL-3375] SubGhz: add CC1101 module external (#2747)
* SubGhz: add CC1101 Ext driver
* SubGhz:  move TIM2 -> TIM17 use cc1101_ext
* FuriHal: SPI move channel DMA 3,4 -> 6.7
* Documentation: fix font
* SubGhz: add work with SubGhz devices by link to device
* SubGhz: add support switching external/internal cc1101 "subghz chat"
* SubGhz: add support switching external/internal cc1101 "subghz tx" and "subghz rx"
* SubGhz: add "Radio Settings" scene
* SubGhz: add icon
* SubGhz: add supported CC1101 external module in SubGhz app
* SubGhz: fix check frequency supported radio device
* SubGhz: fix clang-formatted
* Sughz: move dirver CC1101_Ext to lib , compile cmd ./fbt launch_app APPSRC=radio_device_cc1101_ext
* SubGhz: fix CLI
* SubGhz: fix PVS
* SubGhz: delete comments
* SubGhz: fix unit_test
* Format sources
* Update api symbols and drivers targets
* Drivers: find proper place for target option
* SubGhz: external device connected method naming
* Format sources
* SubGhz:  fix module selection menu, when external is not connected
* SubGhz: fix furi_assert(device);
* SubGhz: fix split h and c
* SubGhz: furi_hal_subghz remove preset load function by name
* SubGhz: deleted comments
* Format Sources
* SubGhz: add some consts and fix unit tests
* Sync API Symbols

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-06-30 23:03:36 +09:00
Patrick Kilter
dcf105994b
Added Power Button for an unknown Sharp Model (#2787)
Tested by me, i just asked if I can get the remote. Tested with the universal remote before and thought you would like to add the button data

Co-authored-by: あく <alleteam@gmail.com>
2023-06-29 01:17:56 +09:00
minchogaydarov
a595231d25
Add Mitsubishi MSZ-AP25VGK universal ac remote (#2800)
Co-authored-by: あく <alleteam@gmail.com>
2023-06-29 00:54:42 +09:00
Félix Legrelle
6f1c46e11d
Fix fr-FR-mac keylayout (#2809)
Co-authored-by: あく <alleteam@gmail.com>
2023-06-28 18:36:40 +09:00
Astra
a284d21e1c
[FL-2872] Remove unused resources (#2740)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 22:11:23 +04:00
あく
61394b8be4
[FL-3352] Dolphin: new animation (#2735)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 22:04:27 +04:00
あく
a76c189ca5
[FL-3335] Dolphin: new animation (#2713) 2023-05-30 20:47:28 +09:00
minchogaydarov
f9390e0cbd
Add Carrier 42QHB12D8S (#2707)
Co-authored-by: あく <alleteam@gmail.com>
2023-05-29 18:04:38 +09:00
technobulb
cce0485e75
Update ac.ir (#2701)
Co-authored-by: あく <alleteam@gmail.com>
2023-05-26 22:12:21 +09:00
minchogaydarov
a472ff7a0f
Add Airwell Prime DCI Series and match file style (#2686)
Co-authored-by: あく <alleteam@gmail.com>
2023-05-26 00:00:13 +09:00
Félix Legrelle
faa14cfa1c
Add fr-FR-mac key layout (#2666)
Co-authored-by: あく <alleteam@gmail.com>
2023-05-25 23:30:07 +09:00
あく
080324f7e0
[FL-3315] Desktop,Rpc: desktop status subscription (#2696)
* Desktop,Rpc: desktop status subscription
* Desktop,RPC: properly handle unsubscribe

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2023-05-25 23:22:31 +09:00
あく
aa8a369e2a
Rpc: add desktop service. Desktop: refactor locking routine. (#2665)
* Rpc: add desktop service
* Protobuf: sync to latest release. Desktop: rewrite PIN locking, finalize locking API
* Desktop: cleanup code a little bit
2023-05-11 19:50:17 +10:00
g3gg0.de
e1c6e78b2e
added DigitalSequence and PulseReader (#2070)
* added DigitalSequence to chain multiple DigitalSignals
added PulseReader for hardware assisted digital signal sampling
* added send_time option to start a signal at a specific DWT->CYCCNT value
* fixed linter errors and undone function renaming
* fixed renaming
* flagged functions in api_symbols.csv
* allow gpio field to stay uninitialized in digital_signal_prepare_arr()
* fix test cases to match (expected) implementation
* pulse_reader: build as static library
Signed-off-by: g3gg0.de <git@g3gg0.de>
* fix starting level detection in pulse_reader
* added unit test for pulse_reader
* change pulse reader test timings to 1, 10 and 100 ms
* fine tuned timings for pulse_reader test
* pulse_reader_stop now deinits GPIO as recommended by @gornekich
* ran format_py
* pulse_reader: remove from API, allow to link with faps
Signed-off-by: g3gg0.de <git@g3gg0.de>
* remove unit test for pulse_reader again
* pulse_reader: add call to set GPIO pull direction
* make structures private, add C implementation of digital_signal_update_dma()
* digital_signal/pulse_reader: allow parameters for free to be NULL
* digital_signal: show unoptimized and optimized code for digital_signal_update_dma() next to each other
* pulse_reader: further optimize assembly code
* digital_signal: reduce code complexity of digital_signal_update_dma() by only reconfiguring DMA2
* digital_signal: remove assembly code, limiting the performance but increasing portability
* added recovery if the timer already expired
* digital_signal: fix memory leak
* digital_signal: keep lock until all DMA transfers have finished
* DigitalSequence: fix issues with concatenation of same levels and spurious bit flips
* DigitalSignal: use cyclic DMA buffer for sequences
* update api_symbols.csv
* Update api_symbols.csv for f18 target
* Patches from @gornekich to fix linter warnings.
* Remove some redundant if checks
* Remove some magic numbers and reformat.
* Remove forced terminating edge.

Signed-off-by: g3gg0.de <git@g3gg0.de>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Tiernan Messmer <tiernan.messmer@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-09 09:55:17 +09:00
hedger
c3ececcf96
[FL-3174] Dolphin builder in ufbt; minor ufbt/fbt improvements (#2601)
* ufbt: added "dolphin_ext" target (expects "external" subfolder in cwd with dolphin assets); cleaned up unused code
* ufbt: codestyle fixes
* scripts: fixed style according to ruff linter
* scripts: additional cleanup & codestyle fixes
* github: pass target hw code when installing local SDK with ufbt
* ufbt: added error message for missing folder in dolphin builder
* scripts: more linter fixes
* sdk: added flipper_format_stream; ufbt: support for --extra-define
* fbt: reduced amount of global defines
* scripts, fbt: rearranged imports

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-03 14:48:49 +09:00
Astra
74fe003f8b
[FL-3171] Introduce stealth mode and auto-selective lock (#2576)
* Introduce stealth mode and auto-selective lock
* Stealth mode status bar icon
* Review fixes
* Fix icon disappearing after reboot
* Support overriding stealth mode
* FuriHal: correct reserved space size in RTC SystemReg

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

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

Co-authored-by: あく <alleteam@gmail.com>
2023-04-06 11:36:12 +08:00
あく
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
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
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
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
ComputerCarsten
78afaab7e8
IR Universal Audio Remote: Add Grundig CMS 5000 (#2414)
Add Grundig CMS 5000 to Infrared Universal Audio Remote.
The 'Play' button doubles as 'Pause' button.
The 'Pause' button is unused.
Issue:
'Prev' button rewinds to start of title, to skip to previous title two consecutive button presses in a short time are required, however the timing is not satisfied.
2023-02-20 12:24:51 +03:00
Ari Bytyqi
1e98361299
Fixed first start animation typo (#2384)
* fixed first start animation typo
* updated pixels. (bottom left corner was off by two pixels)

Co-authored-by: jbohack <joebohack@gmail.com>
2023-02-17 17:17:57 +09:00
あく
25e8947282
Dolphin: drop holiday animation (#2398) 2023-02-15 20:05:08 +10: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
あく
cee9b640b3
Update Missing SD Card icon from PR 2373 (#2376) 2023-02-08 15:45:33 +04:00
Michal Suchánek
00076deece
SCons: do not include backup files in build (#2221)
* SCons: do not include backup files in build
* fbt: now GlobRecursive by default excludes backup files
* fbt: added backup file exclusion to plain libs

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: あく <alleteam@gmail.com>
2023-02-08 18:35:38 +09:00
Wild Rat
147f42a2b7
Add Daikin FTXM20M & Mitsubishi SRK63HE (#2349)
Co-authored-by: あく <alleteam@gmail.com>
2023-02-07 00:49:34 +09:00
DEXV
55054fc1a7
Assets: correct MicroSD card pinout in service animations (#2323)
* New Micro Sd-Card pinout: fixing the Micro Sd-Card pinout for the blocking an internal sd card animations
* Updating the sd card pinout
* Updating magnifying glass
2023-01-29 17:55:04 +07:00
hedger
341610b8a1
[FL-3080] fbt: PVS support (#2286)
* fbt: added firmware_pvscheck & firmware_pvs targets for *nix
* fbt: pvs support on Windows
* fbt: additional fixes & docs for PVS support
* fbt: fixes for updater env configuration
* github: reworked pvs workflow
* vscode: added PVS shortcut
* pvs: added --ignore-ccache flag
* fbt: pvs: opening web browser if there are warnings
* fbt: pvs: added browser handler for mac
* github: fixed report path for PVS
* fbt: pvs: fixed report upload path
* removed intentional PVS warning
* fixed more PVS warnings
* fixed secplus_v1 PVS warning
* fbt: added PVSNOBROWSER flag
* github: setting PVSNOBROWSER for pvs runs
* fbt: less debug output

Co-authored-by: あく <alleteam@gmail.com>
2023-01-17 15:55:49 +03: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
Liam Droog
b7046b2179
Change broken BadUSB link to Hak5 duckyscript quick reference webpage (#2270)
* Change broken link to Hak5 duckyscript quick reference webpage
* Update BadUSB syntax link
2023-01-09 15:03:51 +09:00
Astra
5e74622b2a
[FL-3072] Add the sleigh ride animation (#2224)
* Add sleigh animation
* Fix manifest

Co-authored-by: あく <alleteam@gmail.com>
2023-01-07 01:16:58 +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
Jack Webb-Heller
b8dd75884c
Add Dyson Purifier Hot+Cool support to IR AC Library (#2252) 2023-01-05 22:39:42 +03:00
Konstantin Volkov
27ee0f73f7
Fixing various typos in readme files #2208
Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
2022-12-28 23:30:20 +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
Daniel Carvallo
8a279758fd
Fix quoted error for macOS bad-usb (#2155)
* Add stderr redirect to null device
* Remove stderr redirect and replace <`> with <'>

Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 16:55:25 +09:00