130 Commits

Author SHA1 Message Date
WillyJL 24a988030d Merge commit '97eaee54c8f12c0103487c7c5c8df6ba0b538e12' into mntm-dev 2026-02-28 20:26:37 +01:00
Luis Mayo Valbuena 3872c7a73d feat: add IR capabilities to the JS engine 2026-02-01 14:31:31 +01:00
WillyJL 5d5fa5e9aa Merge branch 'feat/nfc-type-4-final' into mntm-dev 2025-10-06 01:32:15 +02:00
MX 93b4ad4595 Merge remote-tracking branch 'OFW/dev' into dev 2025-09-24 22:32:16 +03:00
Anna Antonenko d0360625d6 [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>
2025-09-24 23:24:28 +04:00
MX bea8d41c8b Merge remote-tracking branch 'OFW/dev' into dev 2025-09-24 01:38:43 +03:00
WillyJL 8bd66c9920 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>
2025-09-24 02:16:47 +04:00
MX 7646902fdc JS: Expose button event type in gui/widget button callback
by WillyJL
2025-07-30 05:04:02 +03:00
WillyJL a934c70a00 JS: Expose button event type in gui/widget button callback --nobuild 2025-07-22 15:53:14 +02:00
MX 8fd5a26e3e Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-03-06 22:13:35 +03:00
WillyJL cef20b3a5e JS: Fix gui.js stopwatch example borders (#4131) 2025-03-05 18:11:51 +04:00
Willy-JL bd2ee18e48 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-28 02:03:45 +00:00
MX b887d6af21 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-02-21 05:18:29 +03: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
MX f242eef26f Merge remote-tracking branch 'OFW/dev' into dev 2025-02-21 03:08:00 +03: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
Willy-JL 72281d9666 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-18 16:25:29 +00:00
MX 85cba9fd8d Merge remote-tracking branch 'OFW/dev' into dev 2025-02-13 19:58:15 +03: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
MX 462ab255a1 upd examples 2024-11-05 09:52:24 +03:00
WillyJL 30d7589f5c JS: Add illegalSymbols prop for gui/text_input (#290)
* JS: Add illegalSymbols prop for gui/text_input

* Update changelog

* Fix gui example
2024-11-04 09:38:59 +01:00
Willy-JL 6e454582a4 JS: Fix NULL ptr in spi example
not sure why this doesnt work, it worked before
2024-11-02 23:22:09 +00:00
Willy-JL 67d9f5b44a JS: Add extra SDK feature strings 2024-11-02 04:34:23 +00:00
Willy-JL 87ef8772c2 Fix last __dirname and __filename usages 2024-11-02 04:15:32 +00:00
MX 3c6a621da2 merge fix [ci skip]
with some parts from PR by Willy-JL
https://github.com/flipperdevices/flipperzero-firmware/pull/3980/files
2024-11-01 05:30:33 +03:00
MX 04c8093672 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-31 21:17:01 +03:00
Willy-JL 462d0309c0 Merge commit '85e5642b2ab537ae9e1c0bccac8add975b8a9ed1' into mntm-dev 2024-10-31 17:51:09 +00: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
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
MX e630f44afd merge p2 2024-10-28 22:22:21 +03:00
Willy-JL 96e5b24a71 JS: Fourth batch of OFW PR changes 2024-10-25 17:27:41 +01:00
Derek Jamison 6b9ae090f8 JavaScript: SPI implementation (#272)
* JavaScript: SPI implementation

* Fix build

* Add typedefs

* Port example script to newJS

* Push new manifest to bottom

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-10-23 00:33:34 +02:00
MX 48acd9f075 merge examples 2024-10-20 16:01:21 +03:00
Derek Jamison e682b6b19e JavaScript: Add I2C support (#259)
* JavaScript: Add I2C support

* Format

* Check input bytes, allow arraybuf write input

* Add comment

* Return arraybuf, remove unnecessary malloc and memset

* More meaningful var names for code readability, fix some bugs

* Remove unnecessary state

* Fix build

* Update changelog

* Add typedefs

* toString() updates in example script

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-10-20 07:24:44 +02:00
Willy-JL bb6c015235 JS: Second batch of OFW PR changes 2024-10-19 01:17:22 +01:00
MX fe3228b63e merge p2 2024-10-18 20:22:21 +03:00
Willy-JL 4a0dfa8de9 JS: First batch of OFW PR review changes 2024-10-18 04:35:27 +01:00
Willy-JL 799ff282f4 JS: Sync small differences from OFW PR 2024-10-17 23:43:21 +01:00
Willy-JL 685e06b4d6 JS: Improve REPL script 2024-10-17 21:32:31 +01:00
Willy-JL 5d2bb9af5e JS: Backport file picker as new module 2024-10-16 19:35:42 +01:00
MX 38fb892cbb merge js upds 1 2024-10-16 18:07:58 +03:00
Willy-JL 7d21bdfb7d JS: Update interactive.js REPL example 2024-10-16 14:39:22 +01:00
Willy-JL 72d47cfacd JS: Expose currentView in gui.viewDispatcher 2024-10-16 14:38:53 +01:00
Willy-JL 51d0fdc5fa JS: Byte/Text Input fixes, gui example improvements 2024-10-16 14:38:00 +01:00
Willy-JL 3b86248288 JS: Fix load.js example path 2024-10-16 14:16:19 +01:00
MX cd46d8ca07 more js stuff
https://github.com/Next-Flip/Momentum-Firmware/commits/js-backport-of-backport/
2024-10-16 15:09:51 +03:00
MX f37799e0f4 merge examples fixes [ci skip]
by Willy-JL
p2
2024-10-16 14:50:05 +03:00
Willy-JL 6b4e94ec58 JS: More fixes 2024-10-16 11:53:07 +01:00
Willy-JL 270e97ff66 JS: Update storage example 2024-10-16 11:32:01 +01:00
Willy-JL f96c538efe JS: Port byte input example (WIP, has some bugs in C code, JS is fine) 2024-10-16 05:26:19 +01:00