Commit Graph

2839 Commits

Author SHA1 Message Date
noproto 70f05ae4a8 Restore MFKey 4.0 version from 793032cb1 2025-12-02 10:44:31 -05:00
noproto 41afa8b9a7 Fix merge: ensure upstream files are properly integrated 2025-12-02 10:44:31 -05:00
noproto 9f890b693d Merge remote-tracking branch 'upstream/dev' into mfkeyfour 2025-12-02 10:44:19 -05:00
noproto 40b533fddb Merge remote-tracking branch 'xero-dev/dev' into dev 2025-08-24 23:02:27 -04:00
noproto d040f9b8bd Merge remote-tracking branch 'upstream/dev' into dev 2025-08-24 22:55:51 -04:00
noproto 37d8ed1d6f Update README.md 2025-08-24 22:50:35 -04:00
noproto 2125e210c8 Static encrypted performance fixed 2025-08-24 19:00:10 -04:00
noproto 2cfe6f6130 Initial commit: MFKey 3.1 2025-08-23 15:36:34 -04:00
noproto f950713298 Bump Picopass to latest 2025-08-23 11:11:36 -04:00
noproto 596209ef1b Merge remote-tracking branch 'origin/ulcdict' into dev 2025-08-23 10:44:08 -04:00
noproto 8f279a682b Pretty UI 2025-08-18 23:54:00 -04:00
noproto 6e05de476f Skip working 2025-08-18 23:05:23 -04:00
noproto afe4559dd3 Fix buffer overflow 2025-08-18 22:00:45 -04:00
noproto 9499c489c2 Fix display of key index during dict attack scene 2025-08-18 04:13:46 -04:00
noproto 0ec7a10ba9 UL-C dict attack scene is now visible 2025-08-18 04:00:20 -04:00
noproto 603e1bd978 Now reading an UL-C card gives the success tone only if the key is found 2025-08-18 03:16:36 -04:00
noproto 9882c586ae Fix regression, read card. Don't try dict if user chose "Unlock with key". 2025-08-18 02:13:51 -04:00
noproto 1c37a0e01c Don't skip the system dictionary 2025-08-18 01:42:20 -04:00
noproto 38b5d9fb16 Properly return when a key is found in user dict 2025-08-18 01:10:23 -04:00
noproto 374f49319b Fix uninitialized key attempt 2025-08-18 00:21:36 -04:00
noproto 1b88b86a11 Merge remote-tracking branch 'flipperdevices/dev' into ulcdict 2025-08-17 17:54:56 -04:00
GameLord2011 d1c3b0bc68 Fixed inverted logic condition in subghz chat cli (#4212) 2025-05-21 01:50:47 +04:00
Anna Antonenko 5b911f5405 RC fixes (#4192)
* cli_shell: fix FL-3983

* fix formatting and submodules

* loader: fix FL-3986

* fix submodules

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-18 16:41:13 +04:00
WillyJL c420cbb1a5 Desktop: Fix freeze on boot if PIN set (#4193) 2025-04-18 05:52:15 +01:00
Anna Antonenko 34a3222ec4 [FL-3979] USB-UART bridge fix (#4189)
* cli_vcp: make enable/disable requests synchronous

* usb_uart_bridge: open and close vcp record once
2025-04-16 04:20:31 +01:00
WillyJL 1eb57ba462 FBT: Fix for Python 3.13 (#4187)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-12 15:35:19 +04:00
hedger ddf77f58e3 sdk: bump API to force re-upload for the catalog (#4186) 2025-04-12 15:27:58 +04:00
WillyJL 868eb10381 SDK: Fix missing RECORD_CLI define (#4185)
* SDK: Fix missing RECORD_CLI define

* sdk: added compatibility `cli.h` header

* cli: updated porting comments

---------

Co-authored-by: hedger <hedger@nanode.su>
2025-04-12 07:21:39 +04:00
Anna Antonenko e1bccf66b3 Fix NULL dereference in CLI completions (#4184)
* cli_completions: fix null dereference

* cli: mark free_blocks as parallel safe

* codeowners: add me to co-owners of cli
2025-04-11 23:38:28 +01:00
Anna Antonenko 096c088bf1 vcp, cli: Handle Tx/Rx events before Connect/Disconnect + extra fixes (#4181)
* cli_vcp: handle tx/rx before connext/disconnect

* cli_vcp: disable trace

* cli_perf: advanced error reporting

* cli_vcp: reset tx flag directly in event handler

* fix formatting

* cli_vcp: make tx flag volatile

* storage_settings: fix scene ids

* cli_shell: add safety check to set_prompt

* cli_registry: move from bptree to dict, fix memory leak

* cli_vcp: go back to message queue for event signaling

* loader: move BeforeLoad event even earlier

* fix formatting
2025-04-11 14:53:10 +04:00
Pablo Mazzini 5f66425671 SubGhz: added support for 42-bit Prastel variation (#4178)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-07 20:13:45 +04:00
Eric Betts 4dd123fd8a BLE: Slightly increase mfg_data size (#4177)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-07 19:16:42 +04:00
Anna Antonenko 3d02063bce fbt: Deterministic STARTUP order & additional checks (#4179)
* unit_tests: clear startup order

* fam: ensure unique STARTUP order

* fbt: warn on same .order values within a group leading to non-determinitic builds

* fbt: better formatting for app order warning

---------

Co-authored-by: hedger <hedger@nanode.su>
2025-04-07 16:45:09 +04:00
Anna Antonenko eb0f5ef8c0 [FL-3947] Pinning of settings options (#4077)
* feat: pinning settings in favorites

* include archive in unit tests fw

* change settings icon

* update text with suggestions from the ui team

* Small touch of constness

---------

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-07 03:17:58 +04:00
RebornedBrain f07048d1b0 [FL-3902] NFC app now can launch MFKey32 (#4117)
* feat: app chaining

* add `launch_current_app_after_deferred`, remove `get_referring_application`

* fix naming

* new api

* fix f18

* Added new function which enqueues external app from nfc app

* Added path to MFKey32 app

* Button "Crack nonces in MFKey32" added to ReadMenu scene

* SaveConfirm scene adjusted to move to different scenes depending on state

* SaveSuccess scene now moves to different scenes depending on SaveConfirm scene state

* MfKeyComplete scene shows different text when MFKey.fap present on the device

* Now MfKeyClassic scene can run external app

* fix deferred launches after errors

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-07 01:49:22 +04:00
Anna Antonenko 6b5d006690 [FL-3953] Application chaining (#4105)
* feat: app chaining

* add `launch_current_app_after_deferred`, remove `get_referring_application`

* fix naming

* new api

* fix f18

* fix deferred launches after errors

* fix: memory leak

* Updater: MIN_GAP_PAGES = 0

* loader: loader_get_application_launch_path doc

* loader: fix freeze

* loader: reject mlib, reduce code size

* loader: generic synchronous call, reduce size

* loader: reject furi_string, reduce size

* apps: debug: removed order field from manifests since it is no longer meaningful

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-05 20:22:05 +04:00
Anna Antonenko dac1457f0a [FL-3963] Move JS modules to new arg parser (#4139)
* js: value destructuring and tests

* js: temporary fix to see size impact

* js_val: reduce code size 1

* i may be stupid.

* test: js_value args

* Revert "js: temporary fix to see size impact"

This reverts commit f51d726dbafc4300d3552020de1c3b8f9ecd3ac1.

* pvs: silence warnings

* style: formatting

* pvs: silence warnings?

* pvs: silence warnings??

* js_value: redesign declaration types for less code

* js: temporary fix to see size impact

* style: formatting

* pvs: fix helpful warnings

* js_value: reduce .rodata size

* pvs: fix helpful warning

* js_value: reduce code size 1

* fix build error

* style: format

* Revert "js: temporary fix to see size impact"

This reverts commit d6a46f01794132e882e03fd273dec24386a4f8ba.

* style: format

* js: move to new arg parser

* style: format

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-05 03:17:30 +04:00
Anna Antonenko 7192c9e68b [FL-3965] Separate cli_shell into toolbox (#4175)
* cli_shell: separate into toolbox

* fix: cmd flags

* fix formatting

* cli: increase default stack depth

* cli_shell: fix loader lock logic

* cli: fix command flags

* fix f18

* speaker_debug: fix

* cli_registry: fix docs

* ufbt: rename cli target back

* cli: rename app and record

* cli: fix and simplify help command

* cli_master_shell: fix ext commands

* fix formatting

* cli: rename master to main

* fix formatting

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-05 02:58:58 +04:00
Anna Antonenko 6f852e646c docs: badusb arbitrary modkey chains (#4176) 2025-04-03 23:48:09 +01:00
hedger 09c61ecbde cli: fixed free_blocks command (#4174)
* cli: fixed free_blocks command - regression after new heap implementation

* github: updated codeowners
2025-04-03 20:42:40 +01:00
Anna Antonenko 5dcf6b55ef [FL-3928, FL-3929] CLI commands in fals and threads (#4116)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli completions

* more key combos

* commands in fals

* move commands out of flash

* ci: fix errors

* speedup cli file transfer

* merge fixups

* fix f18

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* cli_shell: give up pipe to command thread

* fix formatting

* fix: format

* fix merge

* fix. merge.

* cli_shell: fix detach ordering

* desktop: record_cli -> record_cli_vcp

* cli: fix spelling, reload/remove ext cmds on card mount/unmount

* cli: fix race conditions and formatting

* scripts: wait for CTS to go high before starting flipper

* scripts: better race condition fix

* REVERT THIS: test script race condition fix

* Revert "REVERT THIS: test script race condition fix"

This reverts commit 3b028d29b07212755872c5706c8c6a58be551636.

* REVERT THIS: test script fix

* scripts: sleep?

* cli: updated oplist for CliCommandTree

* Revert "REVERT THIS: test script fix"

This reverts commit e9846318549ce092ef422ff97522ba51916163be.

* cli: mention memory leak in FL ticket

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-03 21:39:53 +04:00
Francesco Pompò fa09a18483 Added Vivax and Sansui under Elitelux section (#4173)
Apparently both the mentioned Elitelux and Vivax models are the same, so they share the same codes. Sansui is a brand that is also associated with them as one of the available Sansui codes is the same as this one. This code might also work for the non-smart version of the Vivax TV, the TV-32LE114T2S2, but it has not been tested.

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-03 17:14:47 +04:00
Anna Antonenko 24fbfd1663 [FL-3956] CLI autocomplete and other sugar (#4115)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli completions

* more key combos

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* fix merge

* fix merge

* cli_shell: fix autocomplete up/down logic

* cli_shell: don't add empty line to history

* cli_shell: fix history recall

* cli_shell: find manually typed command in history

* cli_shell: different up/down completions navigation

* fix formatting

* cli_shell: fix memory leak

* cli_shell: silence pvs warning

* test_pipe: fix race condition

* storage_cli: terminate on pipe broken

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
2025-04-03 17:07:47 +04:00
Anna Antonenko 13333edd30 [FL-3954, FL-3955] New CLI architecture (#4111)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* cli: fix rpc lockup

* cli: better lockup fix

* cli: fix f18

* fix merge

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
2025-04-02 22:10:10 +04:00
Eric Betts 5786066512 BLE advertising improvements (#4151)
* Support longer advertised BLE UUID

* BLE: support manufacturer data

* Don't pair when GapPairingNone

* Add PR feedback

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 22:37:40 +04:00
WillyJL bd1e395b08 Docs: Fix doxygen references from PR 4168 (#4169)
* Docs: Fix doxygen references from PR 4168

* Update JS GUI adapter table

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 20:16:14 +04:00
Anna Antonenko 0103b8c7c5 [FL-3961] New JS value destructuring (#4135)
* js: value destructuring and tests

* js: temporary fix to see size impact

* js_val: reduce code size 1

* i may be stupid.

* test: js_value args

* Revert "js: temporary fix to see size impact"

This reverts commit f51d726dbafc4300d3552020de1c3b8f9ecd3ac1.

* pvs: silence warnings

* style: formatting

* pvs: silence warnings?

* pvs: silence warnings??

* js_value: redesign declaration types for less code

* js: temporary fix to see size impact

* style: formatting

* pvs: fix helpful warnings

* js_value: reduce .rodata size

* pvs: fix helpful warning

* js_value: reduce code size 1

* fix build error

* style: format

* Revert "js: temporary fix to see size impact"

This reverts commit d6a46f01794132e882e03fd273dec24386a4f8ba.

* style: format

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 18:50:08 +04:00
WillyJL d34ff3310d JS: Update and fix docs, fix Number.toString() with decimals (#4168)
* Update and fix JS docs

This could really use some automation, atleast for API reference
There are TypeScript definitions and typedocs, we don't need to be monkeys copying and reformatting this to API reference by hand

* Fix bugged character

* JS: Fix Number.toString() with decimals

* Fix

* Forgot this one

* docs: mention per-view child format

* Added @portasynthinca3 to docs' codeowners

* Updated CODEOWNERS

---------

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 15:02:12 +04:00
Anna Antonenko 933134ed94 [FL-3962] BadUSB arbitrary key combinations (#4156)
* badusb: arbitrary modifier key combinations

* badusb: format code

* badusb: add const

* Revert "badusb: add const"

This reverts commit 6ae909fd5d3a5b614712fc92fadda98a6ced2893.

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 14:35:11 +04:00
WillyJL 0eb3fc33dd NFC: Fix NDEF parser for MIFARE Classic (#4153)
* Add div() to API

* Revert "Add div() to API"

This reverts commit e03b5c4244.

* Use / and %

* NFC: More MFC NDEF fixes

* Simplify duplicated code in MFC data generator

* NFC: Print NDEF hex data with pretty format

* NFC: Consider NDEF strings with last \0 byte as text

* Pretty Format: Add padding to last line to keep table width

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 00:34:54 +04:00