Anna Antonenko
dac1457f0a
[FL-3963] Move JS modules to new arg parser ( #4139 )
...
* 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
---------
Co-authored-by: hedger <hedger@users.noreply.github.com >
2025-04-05 03:17:30 +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
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
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
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
hedger
ffa3996a5e
[FL-3867] Code formatting update ( #3765 )
...
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard: c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev
Co-authored-by: あく <alleteam@gmail.com >
2024-07-15 13:38:49 +09: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
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