Commit Graph

181 Commits

Author SHA1 Message Date
Willy-JL
bd2ee18e48 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-28 02:03:45 +00:00
Tyler Crumpton
0d99e54a17 Fix PWM-supported logic on pwmStop() (#4129) 2025-02-26 19:34:54 +04: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
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
1a4a940b74 JS: Support all builtin icons in new gui/icon module 2025-02-20 03:19:43 +00:00
Willy-JL
72281d9666 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-18 16:25:29 +00: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
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
c537092367 JS: Add typedocs for all extra modules 2024-11-03 01:44:44 +00:00
Willy-JL
c565ff83dd Merge remote-tracking branch 'ul/dev' into merge/js-sdk 2024-11-01 13:26:34 +00:00
MX
91af1cdd46 restore require func 2024-11-01 06:00:46 +03:00
MX
7ce036fd9b missing parts [ci skip] 2024-11-01 05:42:49 +03:00
MX
04c8093672 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-31 21:17:01 +03:00
Willy-JL
b86d58c3c4 Merge commit 'c807ffc3249e07220365bef8dd34511bb1dd0794' into mntm-dev 2024-10-31 18:07:10 +00:00
Willy-JL
462d0309c0 Merge commit '85e5642b2ab537ae9e1c0bccac8add975b8a9ed1' into mntm-dev 2024-10-31 17:51:09 +00:00
Willy-JL
a010a9e933 Merge commit 'e4c82708242b25a9af4d2695dd72f4eef44631eb' into mntm-dev 2024-10-31 16:40:46 +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
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
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
Willy-JL
38471fdd75 GUI: Refactor TextInput illegal symbols API 2024-10-29 22:08:52 +00:00
Willy-JL
4b8b27954b Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-10-29 02:15:59 +00:00
MX
e87356af72 Merge remote-tracking branch 'OFW/portasynthinca3/3922-gpio-crash' into dev [ci skip] 2024-10-28 23:20:13 +03:00
MX
6b6d98da2a merge js changes
changes by Willy-JL
spi module by jamisonderek
2024-10-28 22:21:42 +03:00
Willy-JL
19a65a85ba JS: Temp enable illegal symbols in textinput until prop is available 2024-10-25 17:28:26 +01:00
Willy-JL
96e5b24a71 JS: Fourth batch of OFW PR changes 2024-10-25 17:27:41 +01:00
Anna Antonenko
d0214c7b27 fix: incorrect usage of mjs_own 2024-10-23 20:07:03 +03: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
Willy-JL
bbb85a4df9 JS: Third batch of OFW PR changes 2024-10-22 02:38:21 +01:00
MX
8c960a990c merge js upds
by jamisonderek & Willy-JL
2024-10-20 16:00:10 +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
MX
0b7f174162 fix icon 2024-10-19 12:33:57 +03:00
Willy-JL
bb6c015235 JS: Second batch of OFW PR changes 2024-10-19 01:17:22 +01:00
MX
bc73b13b1b merge js stuff
https://github.com/Next-Flip/Momentum-Firmware/commits/js-backport-of-backport/
2024-10-18 20:21:09 +03:00
Willy-JL
799ff282f4 JS: Sync small differences from OFW PR 2024-10-17 23:43:21 +01:00
Willy-JL
73b53ee3f9 JS: Add way to check if view has prop 2024-10-17 17:00:08 +01:00
MX
e2d0a86d3e merge js stuff
by Willy-JL
2024-10-17 17:06:51 +03:00
Willy-JL
5d2bb9af5e JS: Backport file picker as new module 2024-10-16 19:35:42 +01:00
Willy-JL
d9d06b9a2b JS: Backport virtualMount storage API 2024-10-16 18:16:27 +01:00
MX
521b793011 merge js 2 2024-10-16 18:09:02 +03: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
MX
63d1890156 merge missing js backports of backports by Willy-JL
p1
2024-10-16 12:03:31 +03:00
Willy-JL
c8b3bf1869 JS: camelCase changes 2024-10-16 01:55:00 +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