[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 11:54:32 +03:00
|
|
|
App(
|
|
|
|
appid="js_app",
|
|
|
|
name="JS Runner",
|
|
|
|
apptype=FlipperAppType.SYSTEM,
|
|
|
|
entry_point="js_app",
|
|
|
|
stack_size=2 * 1024,
|
|
|
|
resources="examples",
|
|
|
|
order=0,
|
|
|
|
)
|
|
|
|
|
2024-03-25 19:35:38 +03:00
|
|
|
App(
|
|
|
|
appid="js_app_start",
|
|
|
|
apptype=FlipperAppType.STARTUP,
|
|
|
|
entry_point="js_app_on_system_start",
|
|
|
|
order=160,
|
|
|
|
)
|
|
|
|
|
[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 11:54:32 +03:00
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_event_loop",
|
[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 11:54:32 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_event_loop_ep",
|
[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 11:54:32 +03:00
|
|
|
requires=["js_app"],
|
2024-10-15 03:16:21 +03:00
|
|
|
sources=[
|
|
|
|
"modules/js_event_loop/js_event_loop.c",
|
|
|
|
"modules/js_event_loop/js_event_loop_api_table.cpp",
|
|
|
|
],
|
[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 11:54:32 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_gui",
|
[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 11:54:32 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_gui_ep",
|
|
|
|
requires=["js_app", "js_event_loop"],
|
|
|
|
sources=["modules/js_gui/js_gui.c", "modules/js_gui/js_gui_api_table.cpp"],
|
[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 11:54:32 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_gui__loading",
|
[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 11:54:32 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_view_loading_ep",
|
|
|
|
requires=["js_app", "js_gui", "js_event_loop"],
|
|
|
|
sources=["modules/js_gui/loading.c"],
|
[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 11:54:32 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_gui__empty_screen",
|
[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 11:54:32 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_view_empty_screen_ep",
|
|
|
|
requires=["js_app", "js_gui", "js_event_loop"],
|
|
|
|
sources=["modules/js_gui/empty_screen.c"],
|
[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 11:54:32 +03:00
|
|
|
)
|
2024-02-21 00:40:29 +03:00
|
|
|
|
2024-06-22 02:01:26 +03:00
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_gui__submenu",
|
2024-06-22 02:01:26 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_view_submenu_ep",
|
|
|
|
requires=["js_app", "js_gui"],
|
|
|
|
sources=["modules/js_gui/submenu.c"],
|
2024-06-22 02:01:26 +03:00
|
|
|
)
|
|
|
|
|
2024-02-21 00:40:29 +03:00
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_gui__text_input",
|
2024-02-21 00:40:29 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_view_text_input_ep",
|
|
|
|
requires=["js_app", "js_gui", "js_event_loop"],
|
|
|
|
sources=["modules/js_gui/text_input.c"],
|
2024-02-21 00:40:29 +03:00
|
|
|
)
|
2024-03-11 00:37:29 +03:00
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_gui__text_box",
|
2024-03-11 00:37:29 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_view_text_box_ep",
|
2024-03-11 00:37:29 +03:00
|
|
|
requires=["js_app"],
|
2024-10-15 03:16:21 +03:00
|
|
|
sources=["modules/js_gui/text_box.c"],
|
2024-03-11 00:37:29 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_gui__dialog",
|
2024-03-11 00:37:29 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_view_dialog_ep",
|
2024-03-11 00:37:29 +03:00
|
|
|
requires=["js_app"],
|
2024-10-15 03:16:21 +03:00
|
|
|
sources=["modules/js_gui/dialog.c"],
|
2024-03-11 00:37:29 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_notification",
|
2024-03-11 00:37:29 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_notification_ep",
|
2024-03-11 00:37:29 +03:00
|
|
|
requires=["js_app"],
|
2024-10-15 03:16:21 +03:00
|
|
|
sources=["modules/js_notification.c"],
|
2024-03-11 00:37:29 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_badusb",
|
2024-03-11 00:37:29 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_badusb_ep",
|
2024-03-11 00:37:29 +03:00
|
|
|
requires=["js_app"],
|
2024-10-15 03:16:21 +03:00
|
|
|
sources=["modules/js_badusb.c"],
|
2024-03-11 00:37:29 +03:00
|
|
|
)
|
2024-10-15 03:16:21 +03:00
|
|
|
|
2024-03-11 00:37:29 +03:00
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_serial",
|
2024-03-11 00:37:29 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_serial_ep",
|
2024-03-11 00:37:29 +03:00
|
|
|
requires=["js_app"],
|
2024-10-15 03:16:21 +03:00
|
|
|
sources=["modules/js_serial.c"],
|
2024-03-11 00:37:29 +03:00
|
|
|
)
|
2024-03-15 07:09:16 +03:00
|
|
|
|
|
|
|
App(
|
|
|
|
appid="js_gpio",
|
|
|
|
apptype=FlipperAppType.PLUGIN,
|
|
|
|
entry_point="js_gpio_ep",
|
2024-10-15 03:16:21 +03:00
|
|
|
requires=["js_app", "js_event_loop"],
|
2024-03-15 07:09:16 +03:00
|
|
|
sources=["modules/js_gpio.c"],
|
|
|
|
)
|
2024-03-23 23:18:26 +03:00
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_math",
|
2024-04-05 01:25:03 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_math_ep",
|
2024-04-05 01:25:03 +03:00
|
|
|
requires=["js_app"],
|
2024-10-15 03:16:21 +03:00
|
|
|
sources=["modules/js_math.c"],
|
2024-04-05 01:25:03 +03:00
|
|
|
)
|
2024-04-23 12:24:07 +03:00
|
|
|
|
|
|
|
App(
|
2024-10-15 03:16:21 +03:00
|
|
|
appid="js_storage",
|
2024-04-23 12:24:07 +03:00
|
|
|
apptype=FlipperAppType.PLUGIN,
|
2024-10-15 03:16:21 +03:00
|
|
|
entry_point="js_storage_ep",
|
2024-04-23 12:24:07 +03:00
|
|
|
requires=["js_app"],
|
2024-10-15 03:16:21 +03:00
|
|
|
sources=["modules/js_storage.c"],
|
2024-04-23 12:24:07 +03:00
|
|
|
)
|