Commit Graph

793 Commits

Author SHA1 Message Date
Willy-JL 04415bf7dc Merge remote-tracking branch 'ofw/dev' into feat/nfc-type-4 2025-04-10 03:42:55 +01: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
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
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 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 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
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
WillyJL 8871df863b 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>
2025-03-31 21:22:16 +04:00
WillyJL 17759a9e4b 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>
2025-03-31 20:59:12 +04:00
hedger 5fcaef25b0 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
2025-03-31 19:23:32 +04:00
Anna Antonenko 79bb24406e Reduced ieee754 parser size (#4154)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 08:24:27 +04:00
Willy-JL c70626248a Simpler naming scheme 2025-03-27 06:39:20 +00:00
Willy-JL 9e8c8addd3 Use dedicated buffer 2025-03-27 05:52:08 +00:00
Willy-JL f85b5c222f Revert "BitBuffer: Allow copy right/left on same instance"
This reverts commit cfeddbf8b6.
2025-03-27 05:51:36 +00:00
Willy-JL a575d955e3 Merge branch 'feat/ntag4xx-detect' into feat/nfc-type-4 2025-03-27 05:29:07 +00:00
Willy-JL 4717966af8 NFC: Fix detecting MIFARE Plus SE 1K SL1/3
See: https://www.nxp.com/docs/en/application-note/AN10833.pdf
2025-03-27 04:57:24 +00:00
Willy-JL 9b3d97087c NFC: Refactor MIFARE Plus with NxpNativeCommand helper 2025-03-27 04:55:28 +00:00
Willy-JL bd6e5f8240 NFC: Check MIFARE types with HWType lower nibble
See: https://www.nxp.com/docs/en/application-note/AN10833.pdf
2025-03-27 04:53:40 +00:00
Willy-JL d362cb51e3 NFC: Allow choosing DESFire poller cmd mode, fix send_chunks() naming 2025-03-27 04:51:03 +00:00
Willy-JL 6ebc4c7ad3 NFC: Support NTAG4xx detection and basic info 2025-03-27 04:48:19 +00:00
Willy-JL 7525662f14 NFC: Sort protocol defs and add missing ones 2025-03-27 04:45:20 +00:00
Willy-JL 0b42027973 NFC: Refactor DESFire poller to NxpNativeCommand helper 2025-03-27 04:40:03 +00:00
Willy-JL 0b04d7d82d Expose dESFire NDEF size 2025-03-25 06:48:27 +00:00
Willy-JL 5194cf7f04 NFC: Fix detecting MIFARE Plus SE 1K SL1/3
See: https://www.nxp.com/docs/en/application-note/AN10833.pdf
2025-03-25 04:33:36 +00:00
Willy-JL 2f521d5e00 NFC: Only show MFP GetVersion info when available 2025-03-25 03:25:22 +00:00
Willy-JL 118e745368 NFC: Refactor common NXP Native command handling 2025-03-22 11:36:34 +00:00
Willy-JL 1f8cfcc669 NFC: Detect NTAG4xx in Type 4 Tag poller 2025-03-22 09:38:43 +00:00
Willy-JL 49127b199b Check HWMajorVersion like NXP commands \o/
See: https://www.nxp.com/docs/en/application-note/AN10833.pdf
2025-03-22 09:30:26 +00:00
Willy-JL 11af323f4f Small cleanup 2025-03-22 09:25:12 +00:00
Willy-JL ff340ea256 NFC: Implement basic NTAG4xx detection 2025-03-22 09:17:54 +00:00
Willy-JL f01972ea71 NFC: Support creating CC and NDEF files on DESFire 2025-03-20 07:21:36 +00:00
Willy-JL c4f220625c Fix some edge cases with max NDEF size 2025-03-20 07:19:54 +00:00
Willy-JL e2b7cd2d2c Simplify return here 2025-03-20 05:01:50 +00:00
Willy-JL 3c977b7468 Static define T4T DESFire app ids 2025-03-20 04:24:53 +00:00
Willy-JL 3cffc69cb5 Fix some message strings 2025-03-20 04:23:33 +00:00
Willy-JL da36d40bd7 NFC: T4T interact with DESFire without state reset 2025-03-20 04:11:11 +00:00
Willy-JL cc789115dd NFC: Implement DESFire ISO 7816 command wrapping 2025-03-20 04:10:19 +00:00
Willy-JL 19ee0f4598 Rename mf_desfire_send_chunks() to mf_desfire_poller_send_chunks() 2025-03-20 02:50:17 +00:00
Willy-JL f7198c6105 NFC: Support creating NDEF AID on DESFire 2025-03-19 06:57:05 +00:00
Willy-JL 27c977b7c2 Fix writing with platform detect 2025-03-19 06:05:19 +00:00
Willy-JL 121ce315c1 NFC: Detect Type 4 Tag platform (eg DESFire) 2025-03-18 06:28:04 +00:00
Willy-JL 0af703d5ee NFC: Implement Type 4 Tag writing to initialized tags 2025-03-18 03:56:38 +00:00
Willy-JL 106d72a332 Better handling of read/write failure 2025-03-18 03:46:00 +00:00
Willy-JL b1346bc9bb Make APDU arrays static 2025-03-18 03:03:31 +00:00
Willy-JL ca30673238 Improve ISO SELECT naming and handling 2025-03-18 03:01:34 +00:00
Willy-JL b503020f6d NFC: Implement Type 4 Tag writing biolerplate and structure 2025-03-17 06:46:13 +00:00
Willy-JL 0df5a66b19 Keep prev selection when new selection fails 2025-03-17 06:17:25 +00:00
Willy-JL 22a6c37e20 Refactor ISO APDUs in T4T poller 2025-03-17 06:16:31 +00:00
Willy-JL 967eb06082 NFC: Handle writes to Type 4 Tag while emulating 2025-03-15 05:49:44 +00:00