NFC FeliCa Minor Fix: FelicaPollerEventType should only be Incomplete if the tag is FeliCa Lite#4279
Merged
Merged
Conversation
zinongli
commented
Oct 1, 2025
5 tasks
hedger
approved these changes
Nov 6, 2025
Member
|
Thanks! |
anicholakos
added a commit
to anicholakos/flipperzero-firmware
that referenced
this pull request
Jan 23, 2026
commit 8622f1a2b83d8f4918dd5fa3f43de963f6d6f819
Merge: 4ccf69304 7f6194285
Author: hedger <hedger@nanode.su>
Date: Fri Dec 5 19:33:46 2025 +0000
Merge remote-tracking branch 'origin/release-candidate' into release
commit 7f6194285be9c9d336f533e000ec520f46cf95eb
Merge: 0670aab4e c9ab2b682
Author: hedger <hedger@nanode.su>
Date: Mon Dec 1 13:02:26 2025 +0000
Merge remote-tracking branch 'origin/dev' into release-candidate
commit c9ab2b6827fc4d646e98ad0fc15a264240b58986
Author: WillyJL <me@willyjl.dev>
Date: Mon Dec 1 14:01:35 2025 +0100
Infrared: Fix infrared CLI plugin MissingImports (#4312)
commit 4ccf69304aafeb9b85c4284c4e1295b861dbe6f7
Merge: ad2a80042 0670aab4e
Author: hedger <hedger@nanode.su>
Date: Fri Nov 28 22:50:27 2025 +0000
Merge remote-tracking branch 'origin/release-candidate' into release
commit 0670aab4e66201f3b583bc98fc8397414c2ed181
Merge: 36d543186 cd79d4f68
Author: hedger <hedger@nanode.su>
Date: Tue Nov 25 17:33:44 2025 +0300
Merge remote-tracking branch 'origin/dev' into release-candidate
commit cd79d4f689857c1cfcef6114f39606c07e180469
Author: RebornedBrain <RebornedBrain@gmail.com>
Date: Tue Nov 25 16:58:10 2025 +0300
Fix Felica standard loading from nfc file (#4311)
commit 36d5431862f52fc7c2de4c787323cef0a8c2001a
Merge: 2fd3e69aa 7518dc73c
Author: hedger <hedger@nanode.su>
Date: Thu Nov 6 20:04:20 2025 +0000
Merge remote-tracking branch 'origin/dev' into release-candidate
commit 7518dc73c285faa3528095874bfefde3c1386cfd
Author: Mykhailo Shevchuk <myte@ukr.net>
Date: Thu Nov 6 21:54:50 2025 +0200
Returning fix for reading PWD locked MFUL (#4295)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit f4c92dcd76d9c29e184d245cb493d0aa86809c40
Author: Nathan N <noproto@users.noreply.github.com>
Date: Thu Nov 6 14:34:21 2025 -0500
Fix MIFARE Plus SL1 sector overrun issue in state machine (#4288)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit c873eb5e3692c18369e732390c280288e2eae3cc
Author: Nathan N <noproto@users.noreply.github.com>
Date: Thu Nov 6 14:05:16 2025 -0500
Fix Ultralight EV1 regression (#4287)
* Fix EV1 regression introduced in e7634d7
* ./fbt format
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit a42e30f394b809ad3df10586fc3148193f37cc41
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Thu Nov 6 22:45:52 2025 +0400
NFC FeliCa Minor Fix: `FelicaPollerEventType` should only be `Incomplete` if the tag is FeliCa Lite (#4279)
* poller read is only incomp if in Lite workflow
* another small fix for the "255/28 pages read" bug
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 6d93a90a0a94a14674bda691e850c7d1f3f9e769
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Thu Nov 6 22:37:33 2025 +0400
NFC lib: Expose `nfc_common.h` (#4283)
* expose nfc_common.h
* Update api_symbols.csv
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 6c83a67173858cda38ed66fef0d7c197d5afac2e
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Thu Nov 6 22:30:02 2025 +0400
NFC FeliCa Improvement: Dump All Systems (#4293)
* polling system code done
* select service done
* select system fixes. works fine now
* clean up select sys by idx
* reading, saving, loading done. render wrong
* render first layer works
* render fixed
* fix Lite Render triage
* regression Lite rendering
* sync API with 1.40 release
* clean up and lint
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit b54d63037b1764268cf16191d79dadc9e4fcd089
Author: hedger <hedger@users.noreply.github.com>
Date: Thu Nov 6 16:40:18 2025 +0000
lib: infrared: fixed doxygen declarations to match implementation (#4305)
commit 6a5ae6cc0dee6ade5803905ec75d831be5ee5102
Author: MMX <10697207+xMasterX@users.noreply.github.com>
Date: Thu Nov 6 19:23:59 2025 +0300
Infrared Universal remote DBs unit test & move infrared_signal / infrared_brute_force into lib (#4284)
* make infrared db unit tests
* fix the tests, no assets are in asset folder oh no
* fix formate
* ship ir app along with unit_test pkg
* libify ir signal and bruteforce parts
* small cleanup
* api: removed infrared methods (you can link with the lib if needed), unit_tests, infrared: adjusted to link with ir lib; api: added `__aeabi_f2d`
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 67b906e6ba8a09aee1cf6a0230e5879aa1dd0a7d
Author: an5t <8015386+an5t@users.noreply.github.com>
Date: Thu Nov 6 18:31:17 2025 +0300
github: fail submit_sdk on catalog api error (#4294)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 772c944163b3d82b2aebba1b3e497080b6c74578
Author: Alexey Zakharov <110112149+alexeyzakh@users.noreply.github.com>
Date: Thu Nov 6 13:21:44 2025 +0000
Devboard docs update (#4301)
Wi-Fi devboard pinout added, updated devboard hardware image, fixed the schematics link, and corrected typos.
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 468cc45f90757b15a05ae804699a29b45dd5246f
Author: RebornedBrain <RebornedBrain@gmail.com>
Date: Wed Oct 8 16:26:48 2025 +0300
Fix wrbl command tooltip (#4291)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 8ae710edecc2538ef5137c132d9123794331eda5
Author: WillyJL <me@willyjl.dev>
Date: Wed Oct 8 13:13:36 2025 +0200
VSCode: Reduce file watcher resource usage (#4292)
commit 2fd3e69aa2633802c3e42512f1087a7ef29619e0
Merge: db04aef2a 85b6b2b89
Author: hedger <hedger@nanode.su>
Date: Wed Oct 1 16:01:19 2025 +0100
Merge remote-tracking branch 'origin/dev' into release-candidate
commit 85b6b2b8966552a3cd49bf29eae7b0da771dcfa8
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Wed Oct 1 18:54:08 2025 +0400
NFC FeliCa: Service Directory Traverse + Dump All Unencrypted-Readable Services' Blocks (#4254)
* SimpleArray attached to FelicaData
* tx rx done. response parsing done (in log)
* dynamic vector as buffer. rendering begin
* On screen render for directory tree
* flags in render to indicate is_public_readable
* beautify render flags
* format
* offload dynamic vector into individual files
* saving. exposed dir tree writing for double use
* save: additional formatting
* save: clean up and some additional notes
* load done
* delete unnecessary debug log
* Load: safer way to handle backward compatibility
`parsed` being true is only contingent on whether the header (device type, UID, etc) are correctly read. The detailed data can be absent if saved from previous versions.
Side effects:
1. The data format version number must not increment.
2. Newer sections of dumps must be appended in the end of the file.
* format
* handle block reading according to IC type
Old version was aimed for FeliCa Lite dumping, which doesn't apply to FeliCa standard. Thus they need to be diverged in the poller run workflow.
* read block content works. rendering begin
* Render Refactor: dir & dump view from submenu
* Render: show IC type name
* IC parsing function cleanup
* Revert "IC parsing function cleanup"
This reverts commit ee3f7bf125b54b10d238b0aeb657ba15f27f93ba.
* Load: Standard dump. Fully backward compatible
* format
* sync API version
* format saved file
* delete unused variable
* clean ups
* IC type addition
* correction
* beautify attribute parsing
* correction
* Lite save: delete extra line
* correction: FeliCa link in Lite-S mode
* format
* Save: simplify printing
* update IC type parsing
* conform to api standard: const resp ptr to ptr
also slightly faster and more readable block dump loop
* disambiguate workflow type vs ic type
It was too confusing to have the ic name string telling you one thing and ic_type enum saying the other. Might as well use better naming to indicate the use case for the two things
* beautify on device render
* reject dynamic_vector, embrace m-array
* lint
* use full variable name
* partial fix: poller context's data proper init
* edit unit test dump IC code
and a small bug fix for the Lite auth workflow
* unit test felica dump PMm correction
* Fixes for static analysis warnings
---------
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit fad487df0ebbf7b7ab41b70e7240a9299b7c6230
Author: MMX <10697207+xMasterX@users.noreply.github.com>
Date: Wed Oct 1 17:05:50 2025 +0300
SubGHz: Added 9 new protocols, fixes to existing protocols (#4255)
* Fix Typos
* Tune decoders
* Better parsing, show more data in existing protocols
* Add new protocols
* Update keeloqs
* Add unit tests & raws
* Add honeywell unittest
* Comment until better solution is found
Adding GAPs to be sent first to make signal better suitable for decoder (decoding from only one signal sample) does nothing, needs something else
TODO: Fix encoders?
* suppressed missing issue warning
* subghz: re-enabled failing encoder tests
* Fix two?
3 left
* properly do gangqi and marantec for unit test and real use
* fix unit tests now
* fix possible memory leak
* reset decoder step too
* subghz: extra encoder safety; report random signal test results on failure
* unit_tests: subghz: renamed test file for consistency
* subghz: more explicit buffer position resets
* Fix gangqi samples
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit df4bf6981857bcafb0c755d6818da9ab6688b0be
Author: Null <143842038+MrNull1@users.noreply.github.com>
Date: Tue Sep 30 06:39:58 2025 -0500
IR: Add Onn Roku TV control to universal remote (#4201)
* added ONN brand roku TV to ir lib
* pvs: fixed warning
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 1e0f3a606f654bd9047b271aadaa6d028199100c
Author: Ivan Barsukov <i.barsukov@protonmail.com>
Date: Mon Sep 29 20:53:10 2025 +0300
cli: Buzzer command (#4006)
* Add args_read_float_and_trim function
* Add args_read_duration function
* Add notes_frequency_from_name function
* Add cli_sleep function and sleep CLI command
* Update CLI top command to use cli_sleep
* Add buzzer CLI command
* toolbox: make args_read_duration less convoluted
* notification: make notification_messages_notes_frequency_from_name less convoluted
* unit_tests: better float checking
* fix formatting and f18
---------
Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
commit f78a8328d190bd651d7065038697e604841d7316
Author: Leptopt1los <53914086+Leptopt1los@users.noreply.github.com>
Date: Mon Sep 29 20:13:33 2025 +0300
tm01x dallas write support (#4230)
Co-authored-by: hedger <hedger@nanode.su>
commit e7634d7563cd807caf5f522806e83c1d7393340b
Author: Nathan N <noproto@users.noreply.github.com>
Date: Mon Sep 29 13:05:06 2025 -0400
NFC: Ultralight C App Key Management, Dictionary Attack (#4271)
* Upstream Ultralight C dictionary attack (squashed)
* linter: formatting
* unit_tests: nfc: split nfc data to named var
* Fix mf_ultralight_poller_sync_read_card
* linter: suppressed warnings on TODOs
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit eea53491de6180710438ab7c19e84c4f98564329
Author: RebornedBrain <RebornedBrain@gmail.com>
Date: Mon Sep 29 13:34:49 2025 +0300
[FL-3569] NFC CLI commands (#4158)
* 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
* Now cli_shell can be customized with another motd and another command set
* Added custom motd callback definition
* Now user can alloc and free his own cli command set
* cli_vcp can now restart shell with another command set
* Help command modified to show available commands from different command sets
* Api adjustement
* Reworked nfc_cli to start new shell with another command set
* Revert custom shell changes from vcp
* Custom motd callback moved to cli_shell
* Cli Shell now can be started from ongoing cli command
* Help command moved to a separate function so it can be used for custom shell
* Now nfc command spawns separate shell for further nfc commands
* cli_shell: give up pipe to command thread
* fix formatting
* cli_shell: separate into toolbox
* speaker_debug: fix
* fix: format
* Merge branch 'portasynthinca3/3928-3929-cli-fals-threads' into portasynthinca3/3965-cli_shell-toolbox
* fix merge
* fix. merge.
* fix formatting
* fix: cmd flags
* fix: formatting
* Added basic command descriptor structs and macros
* Basic nfc commands definitions added
* Nfc cli commands collection and functions added
* Raw skeleton of nfc cli processor added
* cli: increase default stack depth
* New callbacks for ctx alloc / free added
* nfc_cli moved to cli folder
* Some more logic for command processor
* Scanner command no works via command_processor
* plugin manifest adj
* Argument descriptors were removed, now only keys left
* Some helper command function implemented
* Command processor logic now mostly works
* Added all parsers and dummy implementation of raw cmd
* Now processor checks duplicated keys and treat them as errors
* Some renamings
* Arguments processing moved to separate function
* Now command processor can reuse context of previuos command for the next one if it's allowed
* can_reuse callback added for checking if context can be reused
* command processor is now freed on nfc cli exit
* Some cleanups
* First working version of raw command
* Now input data are placed directly to bit buffer
* Added tag
* Introduced request/response structs
* Moved raw command to a separate folder
* Moved some common types to header
* Added protocol specific handlers for iso14a and felica
* Opened felica crc header for referencing
* Added handler for iso14443_3b
* Opened iso15693_3_poller for referencing
* Added iso15693_3 handler for raw command
* NfcCliRawError enum introduced for response result
* Refactored handlers implementation
* Formatting functions now added as helpers
* New printing result logic
* Not present error value added to enum
* Timeout added to raw command
* Command processor now supports multivalue keys
* Apdu command implementation added
* NfcScanner moved to helpers and command now uses it
* Helper now can format protocol names
* Dump command added
* Added some more functions to scanner helper
* Dump main logic simplified
* Dump handlers moved to protocols folder
* Protocol parser added to simplify searching protocol by name
* Protocol and key arguments added to dump command
* Cleanups
* Apdu now parses protocol using helper parser
* Raw now parses protocol using helper parser
* Wrong naming fix
* Emulate command added to cli
* Description added to action descriptor and command macros
* Description field added to all commands
* Removed unnecessary enum for commands
* Added functions for formatting command and action info
* Proper error messages and help added
* Fix for unsupported single action command
* Function renamed to more appropriate
* Field command moved to all other commands
* Cleanups
* Nfc commands modified with new cli shell
* Removed previous nfc_cli.c after merge
* Removed nfc_cli.h header
* Some renamings and cleanups
* Some comments and instructions added
* Some comments and instructions added
* TODOs removed
* Fix for missing parse callback
* Added not implemented dummy for mfu actions, for now
* Fix name mismatch
* Remove unneeded header
* Mfu command moved to separate folder, also raw info action logic added
* Dictionary with id/vendors added to assets. It is used by nfc_cli_mfu_info_get_vendor function
* One more unneeded header removed
* Moved mfu info action to a separate file
* Info action now uses sync mfu poller
* mfu rdbl action added
* wrbl action added for mfu command
* Some formatting for rdbl command
* Function for formatting mfu errors added
* All mfu actions now show errors in the same way
* Fix error with sync poller. Previously when read failed function returned ErrorNone, now it processes iso14a error to get proper value
* Make PVS happy
* Nfc cli now doesn't start if desktop app is running
* Make action description look more common
* Scanner now has -t key and can show detected protocol hierarchies
* Apdu now checks max input payload data
* Proper format
* Proper error handling added to dump command
* Timeout key added dump command
* Fix merge issue
* formatting
* Pragma pack replaced with FURI_PACKED
* Fix felica memory leak
---------
Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 2ef556d45646a406066fdbefe7f1163d03cb1d5b
Author: Axum <ase1590@hotmail.com>
Date: Thu Sep 25 13:05:29 2025 -0500
Update demo_windows.txt (#4211)
Fix for newer version of ai enabled Windows Notepad not able to keep up with default fast input text.
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 8c0c7f1bb9c4f7f5ed75989bfd244cab52b44b06
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Thu Sep 25 21:22:56 2025 +0400
LFRFID: Show ISO-3166 Country Names For Pet Chips (#4091)
* Country list header and printf
* off load country list to asset
* lint
* Field specific getters
* check string length before cutting
* lfrfid: minor iso3166 cleanup
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 013c5ffa52e5c78f018c820f2e77a984cc1d26a9
Author: WillyJL <willy.leslie@icloud.com>
Date: Thu Sep 25 16:34:06 2025 +0200
BadUSB: Fix case sensitive key combos, fix modifiers in HOLD/RELEASE (#4216)
* BadUSB: Fix key combos main keys being case sensitive
* BadUSB: Fix modifier keys with HOLD/RELEASE commands
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit d17fd8ed7f63fdb424c4afd0c0a2ed07875e8154
Author: Aerosnail <63903087+Aerosnail@users.noreply.github.com>
Date: Thu Sep 25 14:15:43 2025 +0200
SubGhz: fix TIM17 config not applied immediately (#4205)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit d0360625d6e1344eb87c80cd47f699717721f9ec
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Wed Sep 24 23:24:28 2025 +0400
[FL-3925] JS views finished (#4155)
* 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
* feat: all js views done
* js, toolbox: generalize string owning
* toolbox: silence pvs warning
---------
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 0d5beedb012f1a676b48106c7a21996d83906081
Author: hedger <hedger@users.noreply.github.com>
Date: Wed Sep 24 19:36:45 2025 +0100
BLE: improved pairing security (#4240)
* ble: use unique root security keys for new pairings after pairing reset; added migrations for existing pairing data; unit_tests: added migration tests
* bt: lower logging level
* hal: bt: updated doxygen strings
* hal: ble: Added checks for root_keys ptr
* service: ble: bt_keys_storage minor cleanup
commit 30077dd512deb6e0c8033025e4413e755507296e
Author: MMX <10697207+xMasterX@users.noreply.github.com>
Date: Wed Sep 24 20:00:39 2025 +0300
Fix PVS warnings (#4277)
* Fixing PVS warns
* pvs: additional fixes
---------
Co-authored-by: hedger <hedger@nanode.su>
commit 5c54be4d9c241b1244da8487944f7b13c96bae95
Author: Alexander Bays <bays@956mb.com>
Date: Wed Sep 24 10:45:40 2025 -0500
Infrared: Add text scroll to remote buttons (#4210)
* Infrared: Add text scroll to universal remote buttons
Replaces center aligned text in the infrared universal remote with scrollable text if wider than the button and is cut off. Allows long descriptive button functions to be seen in some remotes.
* linter fixes
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 973fb26f575b70083f328bfc56e409d15a972fd0
Author: minchogaydarov <134236905+minchogaydarov@users.noreply.github.com>
Date: Wed Sep 24 18:23:01 2025 +0300
Add Daikin FTXN25LV1B9 and Toyotomi KTN22-12R32 (#4232)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit f0d4210d19f3637c79aa0a010b098d7aa390202a
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Wed Sep 24 19:14:43 2025 +0400
NFC: Amusement IC Card Parser (FeliCa Lite & Lite-S) (#4259)
* type/brand parse
* debug
* decryptions
* corrections
* comments
* AIC access code decryption and CRC check
* easier than we thought! only acc_code[0] == 5 needs parsing
* finishing touches
* can't support serial number decode
* Revert "can't support serial number decode"
This reverts commit 7761b31bcf7effb97e608578ab1e090625078784.
* serial number CAN be decrypted
* format
* print fix
* fix CRC check
* delete unnecessary line
* linter fixes
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 7483069d1049d1208d624fed254b34123a59ee95
Author: LordMZTE <lord@mzte.de>
Date: Wed Sep 24 16:52:06 2025 +0200
hid_app mouse clicker: make mouse button selectable (#4270)
* hid_app mouse clicker: make mouse button selectable
* hid_app: fixed uninit var warning
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 7554b325382628eac47972e232397e461c7fe362
Author: MMX <10697207+xMasterX@users.noreply.github.com>
Date: Wed Sep 24 13:45:03 2025 +0300
SubGHz: Linear and Dickert MAHS protocols fixes & improvements (#4267)
* Linear and dickert mahs fixes
* fix dip pattern
* proper fix
by WillyJL
* Fix unit tests
Linear Decoder now decodes more linear signals
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 6a49131ae96d48fd4581e9851911c40269192f44
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Wed Sep 24 14:34:28 2025 +0400
js_gpio: stop pwm on exit (#4206)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 7f0e8f39d37f1ae858cbdae9e9f1b1c2a4e0d409
Author: WillyJL <willy.leslie@icloud.com>
Date: Wed Sep 24 12:24:09 2025 +0200
FuriHalSerial: Fix RXFNE interrupt hang (#4246)
* Expansion: Wake thread on UART error flag
* Expansion: Stop UART async rx early
* FuriHalSerial: Fix RXFNE interrupt hang
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit dfd753703ad10177aa133154c8125d53720c8d2e
Author: dogtopus <dogtopus@users.noreply.github.com>
Date: Wed Sep 24 19:08:40 2025 +0900
FeliCa Emulation: Handle certain Polling commands in firmware (#4204)
* FeliCa: Handle non-hardware Polling commands
NFC TagInfo and possibly other readers rely on Polling commands with Request Code of 1 (default System Code request) or non-FFFF System Code to detect card type. Since the NFC controller doesn't seem to handle them in hardware and simply bubbles them up, and then the Flipper firmware will just ignore them and refuse to respond afterwards, this causes the reading operation to fail.
This commit adds a simple handler for such Polling commands so that readers behaving like NFC TagInfo could read the emulated card without failing.
* Only handle cases when System Code is not FFFF
The NFC controller should handle Polling commands with the System Code set to FFFF, so it's not necessary for the firmware to handle it.
* Remove system code logging
* More cleanups
* Remove the claim that we need a poller change
We already have enough information to determine whether or not the card supports NDEF since SYS_OP register value is included in all current Lite-S card dumps.
* Respond to 12FC polling command when needed
* Handle Polling with NDEF and Lite-S Service Code
This allows the reader to specifically select the service by naming the Service Code.
* Introduce API for manual handling of Polling commands
Introduce nfc_felica_listener_timer_anticol_start() and nfc_felica_listener_timer_anticol_stop(). These are for now just wrappers around the block_tx timer that can be used to delay the response until the desired Time Slot. Thanks to the loose timing constraints of FeliCa collision resolution protocol, no compensation seems to be necessary. Also enabled the block_tx timer for FeliCa listener, but with both compensation and fdt set to 0 to keep the original behavior of not using the timer during normal data exchange.
This API is now being used for handling Polling commands that are not handled by the NFC controller on the hardware side.
* Document target_time_slot
* Implement changes suggested by @RebornedBrain
* api: f18 version sync
* nfc: added stubs for `nfc_felica_listener_timer_anticol` for unit tests
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit ad94694fbd8aa35a72ea53d03420d56281a69f04
Author: WillyJL <willy.leslie@icloud.com>
Date: Wed Sep 24 11:19:18 2025 +0200
CLI: Fix long delay with quick connect/disconnect (#4251)
* CLI: Fix long delay with quick connect/disconnect
noticeable with qflipper, for some reason it sets DTR on/off/on again
so flipper starts CLI, stops it, then starts again
but cli shell is trying to print motd, and pipe is already broken
so each character of motd times out for 100ms
changing pipe timeout to 10ms works too, but is just a workaround
it didnt always happen, i think that variable time of loading ext cmds
made it so on ofw it usually manages to print motd before pipe is broken
on cfw with more ext commands it always hung, on ofw only sometimes
important part is bailing early in cli shell
in cli vcp i made it cleanup cli shell on disconnect so it doesnt stay
around after disconnecting usb, might free a little ram maybe
* cli_shell: possibly more robust fix?
* Fix use after free crash
* cli_shell: waste even less time
Co-Authored-By: WillyJL <me@willyjl.dev>
---------
Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 8bd66c99209d896c26fcee2bb2be1c6f6882dcf8
Author: WillyJL <willy.leslie@icloud.com>
Date: Wed Sep 24 00:16:47 2025 +0200
JS: Expose button event type in gui/widget button callback (#4252)
* JS: Expose button event type in gui/widget button callback --nobuild
* js_sdk: bump major version
* unit_tests: fix js test
* js: fix gui widget demo
---------
Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit f4138e59998cf6911b93e7766c2cad57e40edd76
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Wed Sep 24 00:47:22 2025 +0400
NFC: MFC 1k Banapass Parser (#4260)
* seems to be working
* faster reading
* clone detection
* linter: fixes
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 7380eacf0e52d259a71cfe5d63c7b8b640b0a666
Author: WillyJL <willy.leslie@icloud.com>
Date: Tue Sep 23 15:43:45 2025 +0200
NFC: Fix read crash with unexpectedly large MFC AUTH(0) response (#4265)
This was noticeable with Chameleon Ultra NTAG emulation
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit d19ad60c1a6521d26ded1edbb9f2f43b8b4b9b98
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Tue Sep 23 17:02:45 2025 +0400
GUI Bug Fix: Number Input Save Icon (#4273)
* Update KeySaveBlockedSelected_24x11.png
* assets: formatted images
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 5932dbe70a440bdeef6b1bd40004602dabfcac7b
Author: Amy Grace <zgracem@users.noreply.github.com>
Date: Mon Sep 22 12:27:59 2025 -0600
Add an old JVC model to universal remotes (#4274)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 470f6a679dc84e27a7fa5e8c2690b93359fe899e
Author: WillyJL <willy.leslie@icloud.com>
Date: Mon Sep 22 20:08:29 2025 +0200
CLI: Fix crash with unexpected plugin files (#4243)
commit d1c3b0bc680c4eb4c79bbbc1f969b8756781aa34
Author: GameLord2011 <119822417+GameLord2011@users.noreply.github.com>
Date: Tue May 20 17:50:47 2025 -0400
Fixed inverted logic condition in subghz chat cli (#4212)
commit ad2a80042349a0cc6e0a14541e985d798a89f389
Merge: 37b251bf0 db04aef2a
Author: hedger <hedger@nanode.su>
Date: Tue Apr 22 18:02:58 2025 +0100
Merge remote-tracking branch 'origin/release-candidate' into release
commit db04aef2a58f3b74a98793f2f3daac7e1c00c124
Merge: 9cbd94234 5b911f540
Author: hedger <hedger@nanode.su>
Date: Fri Apr 18 13:58:36 2025 +0100
Merge remote-tracking branch 'origin/dev' into release-candidate
commit 5b911f5405f104ad3e3051aa70e2a50a5b2a6d16
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Fri Apr 18 16:41:13 2025 +0400
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>
commit c420cbb1a57d72c5f8802c0212abfe250cd87123
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Fri Apr 18 05:52:15 2025 +0100
Desktop: Fix freeze on boot if PIN set (#4193)
commit 9cbd9423471c6ee8efe7dc7b35870d58adfc9242
Merge: 9e845cd97 34a3222ec
Author: hedger <hedger@nanode.su>
Date: Wed Apr 16 05:08:04 2025 +0100
Merge remote-tracking branch 'origin/dev' into release-candidate
commit 34a3222ec4082786392bc60f0d4ea1069077d5b4
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Wed Apr 16 07:20:31 2025 +0400
[FL-3979] USB-UART bridge fix (#4189)
* cli_vcp: make enable/disable requests synchronous
* usb_uart_bridge: open and close vcp record once
commit 9e845cd974209a83a925437ae185c1eb33f83771
Merge: db0a1dbe3 1eb57ba46
Author: hedger <hedger@nanode.su>
Date: Sat Apr 12 12:36:41 2025 +0100
Merge remote-tracking branch 'origin/dev' into release-candidate
commit 1eb57ba4626c11e432ec44b6c9df470bc8b795d7
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Sat Apr 12 12:35:19 2025 +0100
FBT: Fix for Python 3.13 (#4187)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit ddf77f58e383bc688d8df6aa179c91d18c128ce1
Author: hedger <hedger@users.noreply.github.com>
Date: Sat Apr 12 12:27:58 2025 +0100
sdk: bump API to force re-upload for the catalog (#4186)
commit db0a1dbe30ccc83f5a8d8b0f9204a4ee61ed0cc0
Merge: 5712efd35 868eb1038
Author: hedger <hedger@nanode.su>
Date: Sat Apr 12 04:22:35 2025 +0100
Merge remote-tracking branch 'origin/dev' into release-candidate
commit 868eb1038162305b5e1e3193f6150173e9e95f2e
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Sat Apr 12 04:21:39 2025 +0100
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>
commit e1bccf66b32918c5324109b44c9a4e899ef36801
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Sat Apr 12 02:38:28 2025 +0400
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
commit 5712efd3597eb95db228a04d6f21019946cf915c
Merge: 3b3ccbac4 096c088bf
Author: hedger <hedger@nanode.su>
Date: Fri Apr 11 18:59:38 2025 +0100
Merge remote-tracking branch 'origin/dev' into release-candidate
commit 096c088bf18b280774291e88ba00fd539c5adb2b
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Fri Apr 11 14:53:10 2025 +0400
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
commit 5f664256718e2a19e7a90daf73b33b95077dc966
Author: Pablo Mazzini <pmazzini@gmail.com>
Date: Mon Apr 7 17:13:45 2025 +0100
SubGhz: added support for 42-bit Prastel variation (#4178)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 4dd123fd8a9f33769348a29c9f90d00a6ad8341f
Author: Eric Betts <bettse@fastmail.fm>
Date: Mon Apr 7 08:16:42 2025 -0700
BLE: Slightly increase mfg_data size (#4177)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 3d02063bce0c93dda960935a4df11f605aca246e
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Mon Apr 7 16:45:09 2025 +0400
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>
commit eb0f5ef8c01bc20aa99d9728bb0f6994141167d4
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Mon Apr 7 03:17:58 2025 +0400
[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>
commit f07048d1b095c39d978fb1e43056c2b511839e64
Author: RebornedBrain <RebornedBrain@gmail.com>
Date: Mon Apr 7 00:49:22 2025 +0300
[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>
commit 6b5d0066902cb03bf2d981f6117e4da34323fc87
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Sat Apr 5 20:22:05 2025 +0400
[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>
commit dac1457f0a2a4befc4d8e3441adc02d98b896da9
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Sat Apr 5 03:17:30 2025 +0400
[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>
commit 7192c9e68b47e1a52444ba056a55b5ca32c221c6
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Sat Apr 5 02:58:58 2025 +0400
[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>
commit 6f852e646c8ed0c4bed70274adc06974fa8b533d
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Fri Apr 4 02:48:09 2025 +0400
docs: badusb arbitrary modkey chains (#4176)
commit 09c61ecbdeab8d1b1ffc46f814fb4a26302347ed
Author: hedger <hedger@users.noreply.github.com>
Date: Thu Apr 3 20:42:40 2025 +0100
cli: fixed `free_blocks` command (#4174)
* cli: fixed free_blocks command - regression after new heap implementation
* github: updated codeowners
commit 5dcf6b55ef07482189c724cfccd19628968fdef5
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Thu Apr 3 21:39:53 2025 +0400
[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>
commit fa09a18483f15709ecb37c3ec003943e70127c71
Author: Francesco Pompò <pfrankw@users.noreply.github.com>
Date: Thu Apr 3 15:14:47 2025 +0200
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>
commit 24fbfd16636ec82febfb099341b2a8f4930258e8
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Thu Apr 3 17:07:47 2025 +0400
[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>
commit 13333edd308ccb1322cb1ab201d1c8e319e028a4
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Wed Apr 2 22:10:10 2025 +0400
[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>
commit 5786066512f65a3fe32072e8601086e71840c164
Author: Eric Betts <bettse@fastmail.fm>
Date: Tue Apr 1 11:37:40 2025 -0700
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>
commit bd1e395b081e178a20f1a52f0e3e5b6de55d51f4
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Tue Apr 1 16:16:14 2025 +0000
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>
commit 0103b8c7c55a73384b272acf0bb26f86121c7ceb
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Tue Apr 1 18:50:08 2025 +0400
[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>
commit d34ff3310dd187e91f2c345fa7fa8b8136670551
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Tue Apr 1 11:02:12 2025 +0000
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>
commit 933134ed94428d1fb92081c970e0f824d12060a8
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Tue Apr 1 14:35:11 2025 +0400
[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>
commit 0eb3fc33dd3cccb0eb3667149b83d9e9267475c0
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Mon Mar 31 20:34:54 2025 +0000
NFC: Fix NDEF parser for MIFARE Classic (#4153)
* Add div() to API
* Revert "Add div() to API"
This reverts commit e03b5c42449365735ce3d2fc73a4e801c4d5f91f.
* 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>
commit f6916fe616465125b77c70dc54f025df7a4b013a
Author: Yukai Li <GMMan@users.noreply.github.com>
Date: Mon Mar 31 12:32:58 2025 -0600
Fix DWARF dead code elimination and linking (#4144)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit a0645bc6f411f7a21c4815d284acadf88d190289
Author: Konstantin Volkov <72250702+doomwastaken@users.noreply.github.com>
Date: Mon Mar 31 20:33:17 2025 +0300
HID Ble: increased stack and improvements (#4149)
* increased hid remote stack, increased swipe speed, added enterprise sleep
* decreased extra stack by 256b
* app: remote: bumped version and increased stack sizes
---------
Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
commit 8871df863b2c840e8e67f2cde09d730c20cc81d2
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Mon Mar 31 17:22:16 2025 +0000
NFC: Support DESFire Transaction MAC file type (#4159)
* NFC: Support DESFire Transaction MAC file type
* Fix typo
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 17759a9e4b5df521f33c62de6c56d1dcbf572cea
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Mon Mar 31 16:59:12 2025 +0000
NFC: Fix crash on ISO15693-3 save when memory is empty or cannot be read (#4165)
* NFC: Possibly fix ISO15693-3 save crash with no data
* Also prevent malloc(0) if block size or count is 0
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 6962e9ce34d74720ef239591d982a3b1c4126108
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Mon Mar 31 16:52:15 2025 +0000
Infrared: Fix universals sending (#4132)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 5fcaef25b014d99c40e7fc0687c3c5525dca9c1b
Author: hedger <hedger@users.noreply.github.com>
Date: Mon Mar 31 16:23:32 2025 +0100
Stricter constness for const data (#4126)
* libs: stricter constness for saving RAM with .rodata section; fbt: sdk: fixed signature generation for nested const params
* hal: additional fixes for constness in USB subsystem
* debug apps: additional usb-related fixes
* mjs: more consts for token parser
* fatfs: const driver struct
* hal: more consts for ble & nfc vars
* hal: made FuriHalSpiBusHandle static
* hal: made FuriHalI2cBusHandle static
* usb: restored previous api
* linter fixes
* API fixes
commit 3bd6ee03ef6a1840080a3db354b773f217fe746d
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Mon Mar 31 15:11:05 2025 +0000
GUI: Fix widget text scroll with 256+ lines (#4160)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit cf63b38ce0615336c811a2b4bf7a806f5f2d995a
Author: Konstantin Volkov <72250702+doomwastaken@users.noreply.github.com>
Date: Mon Mar 31 17:36:17 2025 +0300
[FL-3972]: Added Doom animation (#4164)
* added new doom animation, updated manifests, re-enabled some animations
* added doom animation to manifest
* reverted manifest to original, new animation added
* fixed metadata and images
* removed old holiday animation
---------
Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit bcbf78a45dd2c4fd398a1954c36ac9883e929da5
Author: Evgeny E <10674163+ssecsd@users.noreply.github.com>
Date: Mon Mar 31 14:20:25 2025 +0100
github: support bound and symlinked devices (#4163)
* Fix unaccessible flipper for binded access points
workaround to work with symlinked devices
* Fix return None if Flipper not started
* exception handling
* decreased timeouts
* Check environment variables for flipper path
commit 79bb24406e7508f037f8c06b69466f07c128c146
Author: Anna Antonenko <portasynthinca3@gmail.com>
Date: Mon Mar 31 08:24:27 2025 +0400
Reduced ieee754 parser size (#4154)
Co-authored-by: hedger <hedger@users.noreply.github.com>
commit 54adc38b3a3e259279d72b4e13dabd54a103f0d6
Author: knrn64 <25254561+knrn64@users.noreply.github.com>
Date: Wed Mar 26 17:29:26 2025 +0300
Documentation: new doc on Storage module and JS cleanup (#4161)
- Add new doc on Storage module
- Improve formatting in the JS section for better readability
commit 02dedd60f3c757a44647e1d342721e735e1942e1
Author: Ruslan Nadyrshin <110516632+rnadyrshin@users.noreply.github.com>
Date: Tue Mar 18 20:08:23 2025 +0400
Add guides on Getting Started with JS (#4150)
- Get started section added to the JS docs
- Small fixes in the JS modules docs
commit 9a8dcc340f8ef1f5865edec6f43079271e3261af
Author: Evgeny E <10674163+ssecsd@users.noreply.github.com>
Date: Wed Mar 12 13:25:37 2025 +0000
fix: flipper detected before it was rebooted (#4146)
commit cef20b3a5ef4596b010776a19df273f92eb8504c
Author: WillyJL <49810075+Willy-JL@users.noreply.github.com>
Date: Wed Mar 5 14:11:51 2025 +0000
JS: Fix gui.js stopwatch example borders (#4131)
commit 0d99e54a17860469f98a36f749362cb9470648d1
Author: Tyler Crumpton <tyler@crump.space>
Date: Wed Feb 26 10:34:54 2025 -0500
Fix PWM-supported logic on pwmStop() (#4129)
commit 0d53cb2c48380dff521e9fcbe157524111bbac57
Author: Evgeny E <10674163+ssecsd@users.noreply.github.com>
Date: Mon Feb 24 22:00:51 2025 +0000
test: fix timeout for flashing step (#4127)
commit 145184f0f20f8bea0bdd57339205c8701442d262
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Mon Feb 24 16:07:45 2025 -0500
NFC: FeliCa Protocol Expose Read Block API and Allow Specifying Service (#4074)
* add one parameter to the rdbl and expose
* Bump api version and format sources
Co-authored-by: あく <alleteam@gmail.com>
commit 9f5e93bed80366d2c769dda966a2255613639add
Author: Zinong Li <131403964+zinongli@users.noreply.github.com>
Date: Mon Feb 24 14:59:05 2025 -0500
LFRFID: Fix Detection Conflict Between Securakey and Noralsy Format (#4125)
* Securakey added pari…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's new
Sorry I missed this in the previous PR. This only came up when I was updating other apps after the PR. If a poller callback is designed for parsing Standard tag's data, it should wait for the poller event type to be
FelicaPollerEventTypeReady, instead of an ambiguousFelicaPollerEventTypeIncomplete.Verification
Checklist (For Reviewer)