Commit Graph

3072 Commits

Author SHA1 Message Date
Willy-JL 7e3a65dfd3 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-04-04 11:51:56 +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
Willy-JL fa359af54e BadKB: Sync UI and code improvements from OFW PR 2025-04-03 06:50:04 +01:00
Willy-JL 7f46fe5d5c Merge remote-tracking branch 'ofw/dev' into mntm-dev --nobuild 2025-04-03 06:19:15 +01:00
Willy-JL 858526cae1 Revert "[FL-3909] CLI improvements, part I (#3928)" --nobuild
This reverts commit 0f831412fa.

This was reverted by OFW right after it was made, back in October 2024.
They are now getting back to implementing these features differently.
Thus, a revert is in order. But neofetch is staying :)
2025-04-03 02:22:36 +01: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
Willy-JL d93ff9bdb0 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-04-01 11:15:53 +00: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
Willy-JL a0619c01d7 Merge remote-tracking branch 'ofw/dev' into mntm-dev --nobuild 2025-04-01 07:42:00 +00: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
WillyJL 6962e9ce34 Infrared: Fix universals sending (#4132)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 20:52:15 +04:00
Willy-JL 9887be24ac Merge branch 'fix/mfc-ndef' into mntm-dev --nobuild 2025-03-26 11:44:55 +00:00
Willy-JL 71be991a15 Merge branch 'feat/desfire-transaction-mac' into mntm-dev --nobuild 2025-03-26 11:38:40 +00:00
Willy-JL caae101942 NFC: More MFC NDEF fixes 2025-03-26 07:30:33 +00:00
Willy-JL beb8a8c702 NFC: Support DESFire Transaction MAC file type 2025-03-25 09:13:25 +00:00
Willy-JL a9c24e229a Use / and % 2025-03-24 01:05:46 +00:00
Alexander Bays c3bfebb6e6 GUI: Add marquee 'Text Scroll' option (#363)
* GUI: Add marquee 'Text Scroll' option

- Adds the tiny `Text Scroll` option under `MNTM > Interface > General` to either use the standard scroll, or a new marquee style back and forth on any scrollable text.
- `elements_scrollable_text_line_centered` renamed to `elements_scrollable_text_line_ex` to be more general. Has `bool marquee`.

* Unnecessary switch here

* Apply setting internally

* Revert a few usages

* Update changelog

* Last thing

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-03-02 04:50:56 +00:00
Alexander Bays adc66d78da Clock: 12 hour "midnight format" (#341)
* Clock: 12 hour midnight format

- References #317 and adds the options `12:XX` and `00:XX` in `Settings > System > Midnight Format` to display the preferred clock format past midnight on all clocks (Desktop, Main Menu MNTM style, Lock screen and Nightstand clock app). "12:30 AM" -> "00:30" OR "12:30".

* Fix: Move midnight format setting out of furi_rtc

- Also felt like the midnight format setting was too out of place in `MNTM > Interface` with the 5 other submenu entries, so I put it in Misc for now.

* clock app external

* Moved midnight format setting into new `Interface > General`

* Update applications/main/momentum_app/scenes/momentum_app_scene_interface_general.c

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-03-02 04:20:38 +00:00
Alexander Bays a6c8f81545 Archive: Add item count to directory info scene (#378)
* GUI: Add item count to Archive info scene

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-03-02 04:13:21 +00:00
Willy-JL 2de9dabffd IR: Easier to find issues with stock universal remotes 2025-03-02 00:41:10 +00:00
Willy-JL 5ac8b90d23 IR: Fix universal monitor remote crash 2025-03-02 00:40:37 +00:00
Willy-JL 1ceaeb5690 Support Cross Remote in Favorites/Archive 2025-03-01 03:01:58 +00:00
Willy-JL e1579a38cc Infrared: Fix universals sending 2025-02-28 17:48:33 +00:00
Willy-JL 2f376edd7d Merge remote-tracking branch 'ul/dev' into mntm-dev 2025-02-28 05:04:24 +00:00
Willy-JL bd2ee18e48 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-28 02:03:45 +00:00
Willy-JL 02e00498a1 BadKB: Rename code to BadUSB for easier merges
Still called BadKB for display name and appid
2025-02-28 00:06:57 +00:00
Willy-JL 9e65b9472f Fix BLE_ID/BT_ID commands 2025-02-27 23:20:03 +00:00
Willy-JL 268b694362 BadKB: Rewrite BadKB extras on "new" OFW BadUSB structure
- Mainly, HID interface abstractions and porting all BadKB options to it
- Tying up some loose ends, some things still not ideal but good enough
- Can customize BLE MAC address when BLE Remember is enabled
- Added BLE_ID command, alias for BT_ID (OFW BadUSB calls everything BLE)
2025-02-27 04:33:21 +00:00
MX 6579b4195e add manually 2025-02-24 11:12:45 +03:00
MX 13dd10182e Merge remote-tracking branch 'OFW/dev' into dev 2025-02-21 04:11:41 +03:00
Anna Antonenko 16d18a79a9 [FL-3900] Update heap implementation (#4123)
* furi: update heap4 to latest
* debug: heap under/overflow testing app
* fix formatting
* silence pvs warnings
* Linker: symbols without type
* Infrared: fix crash in universal remotes on long back press
* Infrared: properly fix incorrect input handling behavior and crash in universal remote. Fix same issue in hid_app.
* FreeRTOSConfig: explicit cast to uint in configTOTAL_HEAP_SIZE
* Format sources
* C and C++ compatible version of stm32wb55_linker.h

Co-authored-by: あく <alleteam@gmail.com>
2025-02-21 10:04:02 +09:00
MX f242eef26f Merge remote-tracking branch 'OFW/dev' into dev 2025-02-21 03:08:00 +03:00
Akiva-Cohen 4e9aa3883b Updated Button Panel (#4119)
* updated button panel
* fixed mismateched .c and .h files
* Gui: extra events for ok button handling in button_panel
* Gui: extra events for other buttons handling in button_panel

Co-authored-by: あく <alleteam@gmail.com>
2025-02-21 06:57:28 +09:00
MX aef8a97ab4 Merge remote-tracking branch 'OFW/dev' into dev 2025-02-20 18:40:54 +03:00
Willy-JL 30df72a835 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-20 04:20:28 +00:00
Astra 2817666eb9 [FL-3774] Fix 5V on GPIO (#4103)
* Move OTG controls to the power service
* Accessor: add missing power service import
* Power: add is_otg_enabled to info and properly handle OTG enable with VBUS voltage present
* Power: method naming
* Power: add backward compatibility with old-style use of furi_hal_power
* Scripts: lower MIN_GAP_PAGES to 1
* SubGhz: fix incorrect logging tag
* SubGhz: delegate OTG management to power service
* Power: fix condition race, various improvements

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-20 12:37:52 +09:00
MX 9378a6f5c4 fix text pos 2025-02-20 05:29:38 +03:00
MX 9ff141acbb fix infrared 2025-02-20 05:28:44 +03:00
MX fa2af5a826 fix naming 2025-02-20 04:41:02 +03:00
MX cd94db3b91 FIX GANG QI 2025-02-20 04:39:28 +03:00
MX 1e3100e26e Merge remote-tracking branch 'OFW/dev' into dev 2025-02-20 04:22:42 +03:00
Justin Nesselrotte 3698fc8d02 Fixed repeat in subghz tx_from_file command (#4099)
* Fixed repeat in subghz tx_from_file command
* Fix PVS warnings

Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 10:10:41 +09:00
Eric Betts 77445fd2f5 Faster di card reading (#4087)
Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 09:22:01 +09:00
MX 486dc48a7a Merge remote-tracking branch 'OFW/dev' into dev 2025-02-20 03:08:53 +03:00
Anna Antonenko 0f240c4dbc [FL-3949] Universal IR signal selection (#4085)
* feat: universal ir signal selection
* fix: f18, format specifiers
* update labels with suggestions from the ui team

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-20 08:58:55 +09:00
Ryan Peel 1541c36b14 BadUSB: Mouse control (#4004)
* add usb hid mouse functions, add mouse functions to BadUsbHidApi
* add ble mouse functionality
* add hid_usb_mouse_release_all
* ducky mouse command skeleton
* implement mouse click functions
* corrected missing semicolon
* added mouse functionality
* corrected mouse scroll functionality
* mouse key functionality, removed mouse commands, supporting get_mouse_keycode function, added mouse buttons as Keys for HOLD function
* add mouse commands
* removed mouse middle click
* Format sources and fix bunch of mistakes in nfc and subghz
* added HID_MOUSE_NONE: added to help with better readability
* added script for mouse movement test
* Fix: hold and release, imrpove readability
* simplified the mouse demo/test
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 08:24:34 +09:00
Willy-JL 72281d9666 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-18 16:25:29 +00:00