Commit Graph

1653 Commits

Author SHA1 Message Date
Ruslan Nadyrshin
02dedd60f3 Add guides on Getting Started with JS (#4150)
- Get started section added to the JS docs
- Small fixes in the JS modules docs
2025-03-19 02:08:23 +10:00
WillyJL
cef20b3a5e JS: Fix gui.js stopwatch example borders (#4131) 2025-03-05 18:11:51 +04:00
Tyler Crumpton
0d99e54a17 Fix PWM-supported logic on pwmStop() (#4129) 2025-02-26 19:34:54 +04:00
Anna Antonenko
ef024e8086 [FL-3958] Stdio API improvements (#4110)
* improve thread stdio callback signatures
* pipe stdout timeout
* update api symbols

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-22 08:11:27 +09:00
WillyJL
404764b660 GUI: Widget view extra options for JS (#4120)
* Fill option for widget frame
* Add widget circle element
* Add widget line element
* Fix missing include for InputType
* Fix missing comment
* Update api symbols
* Load .fxbm from file
* Fix copy pasta
* Add fill param to example
* Fix some comments
* Bump JS SDK 0.3
* Fix free
* Rename widget frame to rect
* Gui: add widget_add_frame_element backward compatibility macros

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-21 10:47:56 +09: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
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
Anna Antonenko
7c5c5d4749 [FL-3734] UART framing mode selection (#4121)
* HAL: feat: uart framing
* JS: feat: uart framing
* fix formatting
* fix pvs warning
* HAL: flash impact reduction attempt 1
* HAL: flash impact reduction attempt 2
* fix compile error
* HAL: finalize flash impact reduction
* HAL: remove user-facing magic numbers

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-21 04:54:38 +09: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
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
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
あく
3a42bf812d Furi, USB, BLE, Debug: various bug fixes and improvements (#4114)
* Furi, USB, BLE: extra stack space for some threads, small code cleanup.

* Furi: thread watermark check on exit, explicitly crash if built with LIB_DEBUG=1

* Debug: color logging in apps/furi gdb helper, check and show crash message in gdb console.
2025-02-17 22:16:14 +04:00
Anna Antonenko
4895ae5d0d [FL-3957] EventLoop unsubscribe fix (#4109)
* Fix memory leak during event loop unsubscription
* Event better memory leak fix
* unit test for the fix

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
2025-02-17 06:57:23 +09:00
Yukai Li
59fe896ce8 nfc: Enable MFUL sync poller to be provided with passwords (#4050)
* nfc: Enable MFUL sync poller to be provided with passwords
* Sync targret api versions

Co-authored-by: あく <alleteam@gmail.com>
2025-02-13 19:31:56 +09:00
Anna Antonenko
e27f82f041 [FL-3925, FL-3942, FL-3944] JS features & bugfixes (SDK 0.2) (#4075)
* feat: JS GPIO PWM, JS GUI Widget view; fix: JS EvtLoop stop on request, JS EvtLoop stop on error
* fix: f18 build
* docs: widget
* fix: js unit test
* change feature naming

Co-authored-by: あく <alleteam@gmail.com>
2025-02-13 17:50:38 +09:00
jay candel
a2b81e4e37 Infrared: Update TV universal (#4080)
* Update tv.ir
* Infrared: cleanup tv.ir merge artifacts

Co-authored-by: あく <alleteam@gmail.com>
2025-02-11 23:54:11 +09:00
A0i
f05302813a Add new AC for Fujitsu ASTG12LVCC (#4095)
* Add new AC for Fujitsu ASTG12LVCC
* Updated timeout settings in GitHub Actions workflow
* Revert CI changes

Co-authored-by: Banana Blue <bananablue@Banana-no-Air.local>
Co-authored-by: あく <alleteam@gmail.com>
2025-02-11 19:58:19 +09:00
Yukai Li
5efdab863b u2f: Fix leaking message digest contexts (#4052)
* u2f: Fix leaking message digest contexts
* Github: fix doxygen version to 1.12

Co-authored-by: あく <alleteam@gmail.com>
2025-01-10 17:39:39 +09:00
dependabot[bot]
5fb9558dbb Bump cross-spawn in /applications/system/js_app/packages/create-fz-app (#4043)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-12-24 11:24:01 +09:00
Anna Antonenko
5fd423951b [FL-3933] Pipe (#3996)
* 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
* refactor: move pipe out of furi and decouple from event loop
* chore: api versioning
* Bump api versions
* refactor: rename pipe_set_pipe_broken_callback
* Toolbox: add missing pragma once

Co-authored-by: あく <alleteam@gmail.com>
2024-12-24 10:58:27 +09:00
Jan Wiesemann
e11a62694e Added flipper_format_write_empty_line(...) (#4029)
* Added flipper_format_write_empty_line(...)
* Format sources

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-12-23 11:32:53 +09:00
Eric Betts
626d7ef509 Fix skylander ID reading (#4038)
* Read skylanders faster
* Correct parsing ID from skylanders

Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 10:56:19 +09:00
Anna Antonenko
631d7a40dd [FL-3940] Work around incorrect serial port handling by the OS (#4040)
* fix: js sdk flipper detection
* chore: bump ver

Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 10:34:05 +09:00
Anna Antonenko
8d078e4b8c [FL-3927] FuriThread stdin (#3979)
* feat: FuriThread stdin
* ci: fix f18
* feat: stdio callback context

Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-12-19 05:38:43 +09:00
Astra
256c1a1140 [FL-3917] Add the ability to send a signal once via RPC (#4000)
* Add the ability to send a signal once

* Update protobuf

* Fix sending infrared signals

* Review changes

* Update protobuf

* Separate sending an IR signal once into a function

* Update protobuf module

---------

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
2024-12-17 13:12:55 +00:00
Ondřej Nový
7d5358b9d3 Replace mf_classic_dict.nfc with Proxmark3 version (#4013)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-03 15:30:25 +09:00
ted-logan
3d6fd9b00d nfc/clipper: (#3991)
* nfs/clipper: BART station ids for San Lorenzo, Bay Fair

Update the BART station ids for the San Lorenzo and Bay Fair stations in
the East Bay of the San Francisco Bay Area.

* nfc/clipper: Update MUNI station ids

Add MUNI station ids for the T line "Central Subway" project, which
opened three new underground stations in 2022.

---------

Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 18:51:57 +09:00
mxcdoam
8629c61dc9 NFC: Plantain parser Last payment amount fix (#3998)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 17:08:17 +09:00
WillyJL
2f30817dc9 Settings: More granularity for LCD and Notification (#4010)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 16:54:50 +09:00
Luu
c3dc9e1ec2 Fix typo for mf_classic_key_cahce_get_next_key() function (#4015)
* Update mf_classic_key_cache.c
* Update mf_classic_key_cache.h
* Update mf_classic.c
* Update nfc_scene_mf_classic_update_initial.c

Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 16:27:16 +09:00
Nicolas Marie-Magdelaine PhD
399bcdcc13 Add IR command for NAD DR2 D7050 D3020 (#4020)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 16:15:29 +09:00
Anna Antonenko
51aafd1b5e fix: bump fz-sdk to 0.1.2 (#3989) 2024-11-05 20:58:19 +09:00
WillyJL
b86b9b87b8 JS: Add die() typedoc (#3985)
* JS: Add die() to typedocs

* JS: Never type for die()

---------

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
2024-11-05 14:41:03 +03:00
Anna Antonenko
c741727b96 I am own the JS (#3982)
* fix: js app template
* i am own the js
* farewell
2024-11-05 19:53:24 +09:00
WillyJL
69aa4cd254 JS: Fix merge of 3963 and 3961 (#3980)
* toString() was moved, not duplicated
* These had gotten lost
* This is now implemented
* Add missing version doctags
2024-11-01 13:52:54 +09:00
Anna Antonenko
f4887ed31c fix: npm deps (#3978) 2024-10-31 19:52:32 +04:00
あく
561b4e947a 目覚め時計 (#3906)
* FuriHal: add RTC alarm support

* FuriHal: RTC alarm API. Alarm settings app. Alarm app.

* FuriHal: remove unnecessery init mode enters in RTC

* Update targets/f7/furi_hal/furi_hal_rtc.h

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>

* Update targets/f7/furi_hal/furi_hal_rtc.c

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>

* Update targets/f7/furi_hal/furi_hal_rtc.h

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>

* FuriHal: add seconds in rtc alarm getter

* Alarm & Clock: redesign and cleanup setting and alarm apps, cleanup API

* Spelling and time separator in alarm

* Api Symbols: hide rtc alarm related methods

* Clock alarm: new thread cleanup routine, hour/minute separator in alarm

* Clock: move clock_settings_start into clock_settings fam

* Seettings: update clock and alarm UI according to figma

* Format icons

---------

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
2024-10-31 15:42:03 +04:00
WillyJL
c807ffc324 JS: Backport³ and more additions & fixes (#3961)
* JS: Fix file select for fbt launch js_app
* JS: badusb: Add numpad keys
  Co-authored-by: oldip <oldip@users.noreply.github.com>
* JS: badusb: Layout support
* JS: badusb: altPrint() and altPrintln()
  Co-authored-by: oldip <oldip@users.noreply.github.com>
* JS: badusb: quit()
* JS: serial: readAny()
* JS: serial: end()
* JS: serial: Auto disable expansion service
* JS: storage: Add example script
* JS: gui: text_input: Fix NULL ptr when no prop given
* JS: gui: text_input: Default text props
  Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
* JS: gui: byte_input
  Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
* JS: gui: file_picker
* JS: gui: viewDispatcher.currentView
* JS: gui: view.hasProperty()
* JS: gui: Add some missing typedefs comments
* JS: globals: Fix toString() with negative numbers
* JS: globals: parseInt()
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: toUpperCase() and toLowerCase()
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: Add some missing typedefs
* JS: Add example for string functions
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: __dirpath and __filepath
  Co-authored-by: jamisonderek <jamisonderek@users.noreply.github.com>
* JS: globals: load() typedef missing scope param
* JS: Add interactive REPL script example
* JS: Add missing icon for file picker
* JS: Rename to __filename and __dirname
* JS: Move toUpperCase() and toLowerCase() to string class
* JS: parseInt() refactor
* JS: Typedef base param for parseInt()
* Revert "JS: gui: view.hasProperty()"
  This reverts commit 1967ec06d4f2e9cafc4e18384ad370f7a7c44468.
* JS: Move toString() to Number class
* JS: Fix duplicate plugin files
  in plugins, `requires` is used to determine which app to distribute the .fal under `apps_data/appid/plugins`
* JS: math: Missing typedefs, use camelCase
* JS: badusb: layoutPath is optional in typedef
* Fix ASS scoping
* Rename mjs term prop type value
* Change load() description
* Enlarge buffers in default prop assign
* More checks for default data/text size
* Make PVS happy
* Fix icon symbol
* Update types for JS SDK
* toString() was moved to number class

Co-authored-by: oldip <oldip@users.noreply.github.com>
Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
Co-authored-by: jamisonderek <jamisonderek@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 14:22:05 +09:00
WillyJL
1907f23e5f NFC: Add NDEF Parser for MFUL, MFC and SLIX (#3973)
* NFC: Add NDEF Parser for MFUL, MFC and SLIX
* Fix inefficiency in MAD checking
* NFC: NDEF parser less RAM waste for contact vcards
* Fix typo
* Make PVS Happy
* NFC: hide TODO in 3rd party plugin

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 14:09:13 +09:00
mxcdoam
054efbbb03 NFC: Plaintain parser fix (#3975)
* Quck fix for Plantain 4K tickets: now the balance, trips, dates are available. To do: get rid of mem size check, fix number parsing  for 4B UID cards,  fix validator info and last payment parsing
* 4B UID Quick'n'Dirty fix
* remove unnecessary variables, fbt format

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:33:51 +09:00
tomholford
55d1588356 nfc: add Caltrain zones for Clipper (#3969)
Co-authored-by: tomholford <tomholford@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:27:04 +09:00
Anna Antonenko
72272b3b34 [FL-3922] Fix JS memory corruption (#3971)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:15:52 +09:00
Anna Antonenko
85e5642b2a [FL-3918] Full-fledged JS SDK + npm packages (#3963)
* feat: js sdk
* refactor: move js back where it belongs
* docs: generate docs using typedoc
* feat: sdk versioning scheme
* ci: silence pvs warning
* docs: bring back old incomplete js docs
* style: readAnalog naming
* fix: rename script compatibility screens

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 11:42:57 +09:00
MMX
e4c8270824 SubGHz Keeloq Monarch decode (#3967)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 11:27:54 +09:00
Skorpionm
6d823835df FurEventLoop: add support for FuriEventFlag, simplify API (#3958)
* Core: event_flag, removing duplicate code
* event_loop: add support furi_event_flags
* Examples: add missing free in event loop examples
* Furi: fix event flag
* Sync api symbols
* Unit_test: evet_loop_event_flags
* Fix multiple waiting list elements handling
* Unit_test: add event_loop_event_flag test
* FURI: event_loop add restrictions
* Fix multiple waiting lists items for good
* Improve FuriEventLoop unit tests
* Abolish callback return value
* Remove return value from callback signature
* Use bool level value instead of int32_t
* Add unit tests for FuriStreamBuffer
* Add unit tests for FuriSemaphore
* Speed up test execution
* Improve docs
* Add a stub for furi os-level primitives
* Add more checks for edge cases
* Allow event loop notification from ISR
* Bump api version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-10-31 10:58:16 +09:00
Nathan N
8427ec0098 MIFARE Classic Key Recovery Improvements (#3822)
* Initial structure for nonce collection
* Nonce logging
* Dictionary attack structure
* Fix compilation
* Identified method to reduce candidate states
* Use EXT_PATH instead of ANY_PATH
* Use median calibrated distance, collect parity bits
* Modify parity collection
* Fixed parity bit collection
* Add note to fix nonce logging
* Fix nonce logging
* Clean redundant code
* Fix valid_nonce
* First attempt disambiguous nonce implementation
* FM11RF08S backdoor detection
* Initial accelerated dictionary attack for weak PRNGs
* Refactor to nested dictionary attack
* Renaming some variables
* Hard PRNG support for accelerated dictionary attack
* Update found keys, initial attempt
* Update found keys, second attempt
* Code cleanup
* Misc bugfixes
* Only use dicts in search_dicts_for_nonce_key if we have them
* Collect nonces again
* Should be detecting both backdoors now
* Relocate backdoor detection
* Hardnested support
* Fix regression for regular nested attack
* Backdoor read
* Backdoor working up to calibration
* Backdoor nested calibration
* Don't recalibrate hard PRNG tags
* Static encrypted nonce collection
* Update TODO
* NFC app UI updates, MVP
* Bump f18 API version (all functions are NFC related)
* Add new backdoor key, fix UI status update carrying over from previous read
* Clear TODO line
* Fix v1/v2 backdoor nonce collection
* Speed up backdoor detection, alert on new backdoor
* Add additional condition to backdoor check
* I'll try freeing memory, that's a good trick!
* Do not enter nested attack if card is already finished
* Do not reset the poller between collected nonces
* Clean up various issues
* Fix Hardnested sector/key type logging
* Add nested_target_key 64 to TODO
* Implement progress bar for upgraded attacks in NFC app
* Typo
* Zero nested_target_key and msb_count on exit
* Note TODO (malloc)
* Dismiss duplicate nonces
* Fix calibration (ensure values are within 3 standard deviations)
* Log static
* No nested dictionary attack re-entry
* Note minor inefficiency
* Uniformly use crypto1_ prefix for symbols in Crypto1 API
* Fix include paths
* Fix include paths cont
* Support CUID dictionary
* Fix log levels
* Avoid storage errors, clean up temporary files
* Handle invalid key candidates
* Fix memory leak in static encrypted attack
* Fix memory leak, use COUNT_OF macro
* Use single call to free FuriString
* Refactor enums to avoid redefinition
* Fix multiple crashes and state machine logic
* Fix inconsistent assignment of known key and known key type/sector
* Backdoor known key logic still needs the current key
* Larger data type for 4K support
* Fix typo
* Fix issue with resume logic
* Mark TODOs for next PR
* Remove redundant assignment
* Fix size_t format specifier
* Simplify auth_passed condition

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-10-31 09:53:58 +09:00
Zinong Li
f8fa71c575 NFC TRT Parser: Additional checks to prevent false positives (#3966)
* additional checks to prevent false positives
* Update trt.c

Co-authored-by: あく <alleteam@gmail.com>
2024-10-20 16:58:33 +01:00
porta
b723d463af Revert "[FL-3909] CLI improvements, part I (#3928)" (#3955)
This reverts commit 0f831412fa.

Co-authored-by: あく <alleteam@gmail.com>
2024-10-17 17:12:27 +01:00