Commit Graph

46 Commits

Author SHA1 Message Date
Willy-JL d0358a42ad Use asset packs not fap_libs=["assets"] 2024-10-31 19:03:59 +00:00
Willy-JL 462d0309c0 Merge commit '85e5642b2ab537ae9e1c0bccac8add975b8a9ed1' into mntm-dev 2024-10-31 17:51:09 +00: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
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
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
Willy-JL ba74e953c4 JS: C define to move JS runner to flash (still external for now) 2024-10-18 02:56:06 +01:00
Willy-JL 5d2bb9af5e JS: Backport file picker as new module 2024-10-16 19:35:42 +01:00
Willy-JL 2f6faa1b7b Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-10-16 00:56:19 +01:00
Willy-JL 88dfe97a89 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-10-15 23:43:33 +01:00
MX 004d8382d3 implement byte input, add missing args in text input
TODO: add missing filebrowser dialog
2024-10-16 00:57:44 +03:00
MX 8233534d6a merge p3 2024-10-15 03:27:04 +03:00
MX edc58c5a0e merge p2 2024-10-15 03:16:21 +03:00
porta 8a95cb8d6b [FL-3893] JS modules (#3841)
* feat: backport js_gpio from unleashed
* feat: backport js_keyboard, TextInputModel::minimum_length from unleashed
* fix: api version inconsistency
* style: js_gpio
* build: fix submodule ._ .
* refactor: js_gpio
* docs: type declarations for gpio
* feat: gpio interrupts
* fix: js_gpio freeing, resetting and minor stylistic changes
* style: js_gpio
* style: mlib array, fixme's
* feat: js_gpio adc
* feat: js_event_loop
* docs: js_event_loop
* feat: js_event_loop subscription cancellation
* feat: js_event_loop + js_gpio integration
* fix: js_event_loop memory leak
* feat: stop event loop on back button
* test: js: basic, math, event_loop
* feat: js_event_loop queue
* feat: js linkage to previously loaded plugins
* build: fix ci errors
* feat: js module ordered teardown
* feat: js_gui_defer_free
* feat: basic hourglass view
* style: JS ASS (Argument Schema for Scripts)
* fix: js_event_loop mem leaks and lifetime problems
* fix: crashing test and pvs false positives
* feat: mjs custom obj destructors, gui submenu view
* refactor: yank js_gui_defer_free (yuck)
* refactor: maybe_unsubscribe
* empty_screen, docs, typing fix-ups
* docs: navigation event & demo
* feat: submenu setHeader
* feat: text_input
* feat: text_box
* docs: text_box availability
* ci: silence irrelevant pvs low priority warning
* style: use furistring
* style: _get_at -> _safe_get
* fix: built-in module name assignment
* feat: js_dialog; refactor, optimize: js_gui
* docs: js_gui
* ci: silence pvs warning: Memory allocation is infallible
* style: fix storage spelling
* feat: foreign pointer signature checks
* feat: js_storage
* docs: js_storage
* fix: my unit test was breaking other tests ;_;
* ci: fix ci?
* Make doxygen happy
* docs: flipper, math, notification, global
* style: review suggestions
* style: review fixups
* fix: badusb demo script
* docs: badusb
* ci: add nofl
* ci: make linter happy
* Bump api version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-10-14 19:42:11 +01:00
MX e403860e61 js add storage module
(without virtual mount api calls)

by Willy-JL
2024-06-22 02:01:26 +03:00
WillyJL 0d456aa550 JS: Add textbox module (#3597)
* JS: Add textbox module
* Using view_holder instead of view_dispatcher, more checks in js_textbox_show
* API version sync
* Rename emptyText() to clearText()
* Keeping view_holder allocated for thread sefety
* Js: proper comparision with 0 in js_math_sign
* Js: add comments and fix condition race in textbox

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2024-05-17 18:43:52 +01:00
WillyJL c673b53e21 JS: Add math module (#3598)
* JS: Add math module
* Double constants
* Error on argument type mismatch
* Fix missing returns
* Using sin, exp from c library
* asin, acos, pow, sqrt too
* Js: tests for math module and various fixes.

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2024-05-17 17:45:40 +01:00
WillyJL 63403bbae2 JS: Add submenu module (#3601)
* JS: Add submenu module
* Using view_holder instead of view_dispatcher

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-05-16 18:55:08 +01:00
MX 3269f751cd js vgm module and widget fix
VGM js module by jamisonderek
Js fixes by jamisonderek
2024-04-23 12:24:07 +03:00
Willy-JL a7a3ce8d4b JS: Add VGM module by @jamisonderek
Co-authored-by: Derek Jamison <jamisonderek@users.noreply.github.com>
2024-04-22 06:10:00 +01:00
MX ec4b8b8f5e Various fixes
fixes by Willy-JL
nfc parser by zacharyweiss
js widget and path globals by jamisonderek
2024-04-05 01:25:03 +03:00
Willy-JL 9fd3f70636 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-29 03:55:30 +00:00
Derek Jamison a94a1a96ae JS: Add widget module 2024-03-26 23:00:10 -05:00
MX ae84992f25 Merge remote-tracking branch 'OFW/dev' into dev 2024-03-25 23:20:46 +03:00
Nikolay Minaylov 84beb9b23e JS CLI command (#3539)
* js command
* made the js command exit when there's an error
* JS CLI: moved to js_app
* JS: abortable cli invocations
* JS: less debug logging in console logs, fix storage descriptor leak in cli

Co-authored-by: Milk-Cool <milan-pl@mail.ru>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-03-26 01:35:38 +09:00
MX c323656037 js modules updates
by Willy-JL
2024-03-23 23:18:26 +03:00
Willy-JL 5b63952b12 JS: Add textbox module 2024-03-23 05:15:56 +00:00
MX d573cc06da js modules updates
by Willy-JL and Sil333033
2024-03-15 07:09:16 +03:00
Sil333033 d947fa749a JS: added GPIO module 2024-03-11 20:58:14 +01:00
MX c9434492b8 Various changes, in expansion, rgb, js
by Willy-JL , Spooks4576 , Sil333033 , HaxSam
2024-03-11 00:37:29 +03:00
Sil333033 6420e5b37e Merge branch 'dev' of https://github.com/Next-Flip/Momentum-Firmware into dev 2024-03-07 22:17:03 +01:00
Sil333033 ab9d4620db Add Subghz JS module 2024-03-07 22:15:14 +01:00
Willy-JL 86986278d3 Format 2024-03-07 04:56:53 +00:00
Spooks 2ff6dc8c1d Keyboard WIP (Byte Input Doesn't Work) 2024-03-06 15:02:00 -07:00
Spooks c43d9d3bdd Math 2024-03-06 11:03:26 -07:00
Spooks ab9c10c436 Added Ble Beacon 2024-03-05 23:59:06 -07:00
Spooks ff4fcfc132 JS: Added Submenu support (#13) 2024-03-06 03:20:52 +00:00
Spooks f92a94a78a JS: Added Submenu support 2024-03-05 20:17:00 -07:00
Willy-JL e2ab71e1d3 JS: Add basic storage module API 2024-02-22 03:12:59 +00:00
MX 113afc0d0f usbdisk support in js
by Willy-JL
2024-02-21 00:40:29 +03:00
Willy-JL ea30dbe2fb Add JS UsbDisk support (like Mass Storage) 2024-02-16 05:22:10 +00:00
Willy-JL f489f7204f Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2024-02-13 19:25:10 +00:00
Nikolay Minaylov 25a280c818 JS serial module renamed, uart channel selection (#3445) 2024-02-13 10:04:27 +07:00
Willy-JL 88d51a31f0 -8kb DFU, why wasn't this done to beging with? 2024-02-12 20:41:52 +00:00
nminaylov 0f7411d03a JS serial module renamed, uart channel selection 2024-02-12 18:06:01 +03:00
Nikolay Minaylov 0154018363 [FL-3579, FL-3601, FL-3714] JavaScript runner (#3286)
* FBT: cdefines to env, libs order
* API: strtod, modf, itoa, calloc
* Apps: elk js
* Apps: mjs
* JS: scripts as assets
* mjs: composite resolver
* mjs: stack trace
* ELK JS example removed
* MJS thread, MJS lib modified to support script interruption
* JS console UI
* Module system, BadUSB bindings rework
* JS notifications, simple dialog, BadUSB demo
* Custom dialogs, dialog demo
* MJS as system library, some dirty hacks to make it compile
* Plugin-based js modules
* js_uart(BadUART) module
* js_uart: support for byte array arguments
* Script icon and various fixes
* File browser: multiple extensions filter, running js scripts from app loader
* Running js scripts from archive browser
* JS Runner as system app
* Example scripts moved to /ext/apps/Scripts
* JS bytecode listing generation
* MJS builtin printf cleanup
* JS examples cleanup
* mbedtls version fix
* Unused lib cleanup
* Making PVS happy & TODOs cleanup
* TODOs cleanup #2
* MJS: initial typed arrays support
* JS: fix mem leak in uart destructor

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-02-12 15:54:32 +07:00