Commit graph

248 commits

Author SHA1 Message Date
あく
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
Dmitry Eroshenko
ad3bff0b67
Update ac.ir (#2184)
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2022-12-24 21:44:04 +03:00
valentinegb
10580b5117
Add Edifier R1850DB signals to audio.ir (#2168)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-23 12:13:13 +03:00
valentinegb
2796623551
Add VIZIO signals to tv.ir (#2167)
* Add VIZIO signals to tv.ir

* Fix improper formatting

Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2022-12-21 12:30:40 +03:00
あく
3681a5478c
[FL-3044] Dolphin: add new animation 2022-12-16 08:04:15 +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
Eric Betts
6ff437ad18
Dictionary stuff: iClass keys (#2118)
* MFC comments
* iClass keys from proxmark3 repo

Co-authored-by: あく <alleteam@gmail.com>
2022-12-12 02:32:25 +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
Dmitry Zinin
cbc5e3fa92
IR TV Universal: Toshiba TV (#2084)
From Toshiba TV 32W1534DG (C)

Co-authored-by: あく <alleteam@gmail.com>
2022-12-07 18:50:44 +09:00
あく
2b06b41ffd
Dolphin: new animation L2_Wake_up_128x64 (#2099) 2022-12-07 19:34:36 +10:00
Skorpionm
79fbaf2620
SubGhz: unit_test modification of text files to one frequency and modulation (#2066)
* SubGhz: unit_test modification of text files to one frequency and modulation
* SubGhz: unit_tests raw file

Co-authored-by: あく <alleteam@gmail.com>
2022-12-02 04:07:16 +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
Anna Prosvetova
51d478489a
Infrared: Add Olimpia Splendid AC (#2038)
Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 22:43:48 +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