iotjs_jval_t InitBuffer() { iotjs_jval_t buffer = iotjs_jval_create_function_with_dispatch(Buffer); iotjs_jval_t prototype = iotjs_jval_create_object(); iotjs_jval_t byte_length = iotjs_jval_create_function_with_dispatch(ByteLength); iotjs_jval_set_property_jval(&buffer, IOTJS_MAGIC_STRING_PROTOTYPE, &prototype); iotjs_jval_set_property_jval(&buffer, IOTJS_MAGIC_STRING_BYTELENGTH, &byte_length); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_COMPARE, Compare); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_COPY, Copy); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_WRITE, Write); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_HEXWRITE, HexWrite); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_WRITEUINT8, WriteUInt8); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_READUINT8, ReadUInt8); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_SLICE, Slice); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_TOSTRING, ToString); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_TOHEXSTRING, ToHexString); iotjs_jval_destroy(&prototype); iotjs_jval_destroy(&byte_length); return buffer; }
static void SetBuiltinModules(jerry_value_t builtin_modules) { for (unsigned i = 0; js_modules[i].name; i++) { iotjs_jval_set_property_jval(builtin_modules, js_modules[i].name, jerry_create_boolean(true)); } for (unsigned i = 0; i < iotjs_module_count; i++) { iotjs_jval_set_property_jval(builtin_modules, iotjs_module_ro_data[i].name, jerry_create_boolean(true)); } }
jerry_value_t InitProcess() { jerry_value_t process = jerry_create_object(); iotjs_jval_set_method(process, IOTJS_MAGIC_STRING_COMPILE, Compile); iotjs_jval_set_method(process, IOTJS_MAGIC_STRING_COMPILEMODULE, CompileModule); iotjs_jval_set_method(process, IOTJS_MAGIC_STRING_READSOURCE, ReadSource); iotjs_jval_set_method(process, IOTJS_MAGIC_STRING_CWD, Cwd); iotjs_jval_set_method(process, IOTJS_MAGIC_STRING_CHDIR, Chdir); iotjs_jval_set_method(process, IOTJS_MAGIC_STRING_DEBUGGERGETSOURCE, DebuggerGetSource); iotjs_jval_set_method(process, IOTJS_MAGIC_STRING_DOEXIT, DoExit); SetProcessEnv(process); // process.builtin_modules jerry_value_t builtin_modules = jerry_create_object(); SetBuiltinModules(builtin_modules); iotjs_jval_set_property_jval(process, IOTJS_MAGIC_STRING_BUILTIN_MODULES, builtin_modules); jerry_release_value(builtin_modules); // process.platform iotjs_jval_set_property_string_raw(process, IOTJS_MAGIC_STRING_PLATFORM, TARGET_OS); // process.arch iotjs_jval_set_property_string_raw(process, IOTJS_MAGIC_STRING_ARCH, TARGET_ARCH); // process.version iotjs_jval_set_property_string_raw(process, IOTJS_MAGIC_STRING_VERSION, IOTJS_VERSION); // Set iotjs SetProcessIotjs(process); bool wait_source; if (iotjs_environment_config(iotjs_environment_get())->debugger != NULL) { wait_source = iotjs_environment_config(iotjs_environment_get()) ->debugger->wait_source; } else { wait_source = false; } if (!wait_source) { SetProcessArgv(process); } jerry_value_t wait_source_val = jerry_create_boolean(wait_source); iotjs_jval_set_property_jval(process, IOTJS_MAGIC_STRING_DEBUGGERWAITSOURCE, wait_source_val); jerry_release_value(wait_source_val); return process; }
void iotjs_jval_set_property_number(const iotjs_jval_t* jobj, const char* name, double v) { const IOTJS_VALIDATED_STRUCT_METHOD(iotjs_jval_t, jobj); iotjs_jval_t jval = iotjs_jval_create_number(v); iotjs_jval_set_property_jval(jobj, name, &jval); iotjs_jval_destroy(&jval); }
void iotjs_jval_set_property_string_raw(const iotjs_jval_t* jobj, const char* name, const char* v) { const IOTJS_VALIDATED_STRUCT_METHOD(iotjs_jval_t, jobj); iotjs_jval_t jval = iotjs_jval_create_string_raw(v); iotjs_jval_set_property_jval(jobj, name, &jval); iotjs_jval_destroy(&jval); }
jerry_value_t InitTcp() { jerry_value_t tcp = jerry_create_external_function(TCP); jerry_value_t prototype = jerry_create_object(); iotjs_jval_set_property_jval(tcp, IOTJS_MAGIC_STRING_PROTOTYPE, prototype); iotjs_jval_set_method(tcp, IOTJS_MAGIC_STRING_ERRNAME, ErrName); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_OPEN, Open); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_CLOSE, Close); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_CONNECT, Connect); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_BIND, Bind); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_LISTEN, Listen); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_WRITE, Write); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_READSTART, ReadStart); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_SHUTDOWN, Shutdown); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_SETKEEPALIVE, SetKeepAlive); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_GETSOCKNAME, GetSockeName); jerry_release_value(prototype); return tcp; }
jerry_value_t InitFs(void) { jerry_value_t fs = jerry_create_object(); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_CLOSE, Close); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_OPEN, Open); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_READ, Read); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_WRITE, Write); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_STAT, Stat); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_FSTAT, Fstat); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_MKDIR, MkDir); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_RMDIR, RmDir); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_UNLINK, Unlink); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_RENAME, Rename); iotjs_jval_set_method(fs, IOTJS_MAGIC_STRING_READDIR, ReadDir); jerry_value_t stats_prototype = jerry_create_object(); iotjs_jval_set_method(stats_prototype, IOTJS_MAGIC_STRING_ISDIRECTORY, StatsIsDirectory); iotjs_jval_set_method(stats_prototype, IOTJS_MAGIC_STRING_ISFILE, StatsIsFile); iotjs_jval_set_property_jval(fs, IOTJS_MAGIC_STRING_STATS, stats_prototype); jerry_release_value(stats_prototype); return fs; }
iotjs_jval_t InitAdc() { iotjs_jval_t jadc = iotjs_jval_create_object(); iotjs_jval_t jadcConstructor = iotjs_jval_create_function_with_dispatch(AdcConstructor); iotjs_jval_set_property_jval(&jadc, IOTJS_MAGIC_STRING_ADC, &jadcConstructor); iotjs_jval_t jprototype = iotjs_jval_create_object(); iotjs_jval_set_method(&jprototype, IOTJS_MAGIC_STRING_READ, Read); iotjs_jval_set_method(&jprototype, IOTJS_MAGIC_STRING_CLOSE, Close); iotjs_jval_set_property_jval(&jadcConstructor, IOTJS_MAGIC_STRING_PROTOTYPE, &jprototype); iotjs_jval_destroy(&jprototype); iotjs_jval_destroy(&jadcConstructor); return jadc; }
iotjs_jval_t InitSpi() { iotjs_jval_t jspi = iotjs_jval_create_object(); iotjs_jval_t jspiConstructor = iotjs_jval_create_function_with_dispatch(SpiConstructor); iotjs_jval_set_property_jval(&jspi, IOTJS_MAGIC_STRING_SPI, &jspiConstructor); iotjs_jval_t prototype = iotjs_jval_create_object(); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_TRANSFERARRAY, TransferArray); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_TRANSFERBUFFER, TransferBuffer); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_CLOSE, Close); iotjs_jval_set_property_jval(&jspiConstructor, IOTJS_MAGIC_STRING_PROTOTYPE, &prototype); iotjs_jval_destroy(&prototype); iotjs_jval_destroy(&jspiConstructor); // SPI mode properties iotjs_jval_t jmode = iotjs_jval_create_object(); iotjs_jval_set_property_number(&jmode, IOTJS_MAGIC_STRING_0, kSpiMode_0); iotjs_jval_set_property_number(&jmode, IOTJS_MAGIC_STRING_1, kSpiMode_1); iotjs_jval_set_property_number(&jmode, IOTJS_MAGIC_STRING_2, kSpiMode_2); iotjs_jval_set_property_number(&jmode, IOTJS_MAGIC_STRING_3, kSpiMode_3); iotjs_jval_set_property_jval(&jspi, IOTJS_MAGIC_STRING_MODE_U, &jmode); iotjs_jval_destroy(&jmode); // SPI mode properties iotjs_jval_t jcs = iotjs_jval_create_object(); iotjs_jval_set_property_number(&jcs, IOTJS_MAGIC_STRING_NONE, kSpiCsNone); iotjs_jval_set_property_number(&jcs, IOTJS_MAGIC_STRING_HIGH, kSpiCsHigh); iotjs_jval_set_property_jval(&jspi, IOTJS_MAGIC_STRING_CHIPSELECT_U, &jcs); iotjs_jval_destroy(&jcs); // SPI order properties iotjs_jval_t jbit_order = iotjs_jval_create_object(); iotjs_jval_set_property_number(&jbit_order, IOTJS_MAGIC_STRING_MSB, kSpiOrderMsb); iotjs_jval_set_property_number(&jbit_order, IOTJS_MAGIC_STRING_LSB, kSpiOrderLsb); iotjs_jval_set_property_jval(&jspi, IOTJS_MAGIC_STRING_BITORDER_U, &jbit_order); iotjs_jval_destroy(&jbit_order); return jspi; }
void iotjs_jval_set_method(const iotjs_jval_t* jobj, const char* name, JHandlerType handler) { const IOTJS_VALIDATED_STRUCT_METHOD(iotjs_jval_t, jobj); IOTJS_ASSERT(iotjs_jval_is_object(jobj)); iotjs_jval_t jfunc = iotjs_jval_create_function(handler); iotjs_jval_set_property_jval(jobj, name, &jfunc); iotjs_jval_destroy(&jfunc); }
static void SetProcessIotjs(jerry_value_t process) { // IoT.js specific jerry_value_t iotjs = jerry_create_object(); iotjs_jval_set_property_jval(process, IOTJS_MAGIC_STRING_IOTJS, iotjs); iotjs_jval_set_property_string_raw(iotjs, IOTJS_MAGIC_STRING_BOARD, TOSTRING(TARGET_BOARD)); jerry_release_value(iotjs); }
jerry_value_t InitSpi() { jerry_value_t jspi_cons = jerry_create_external_function(SpiCons); jerry_value_t prototype = jerry_create_object(); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_CLOSE, Close); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_CLOSESYNC, CloseSync); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_TRANSFER, Transfer); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_TRANSFERSYNC, TransferSync); iotjs_jval_set_property_jval(jspi_cons, IOTJS_MAGIC_STRING_PROTOTYPE, prototype); jerry_release_value(prototype); // SPI mode properties jerry_value_t jmode = jerry_create_object(); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_0, kSpiMode_0); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_1, kSpiMode_1); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_2, kSpiMode_2); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_3, kSpiMode_3); iotjs_jval_set_property_jval(jspi_cons, IOTJS_MAGIC_STRING_MODE_U, jmode); jerry_release_value(jmode); // SPI mode properties jerry_value_t jcs = jerry_create_object(); iotjs_jval_set_property_number(jcs, IOTJS_MAGIC_STRING_NONE_U, kSpiCsNone); iotjs_jval_set_property_number(jcs, IOTJS_MAGIC_STRING_HIGH_U, kSpiCsHigh); iotjs_jval_set_property_jval(jspi_cons, IOTJS_MAGIC_STRING_CHIPSELECT_U, jcs); jerry_release_value(jcs); // SPI order properties jerry_value_t jbit_order = jerry_create_object(); iotjs_jval_set_property_number(jbit_order, IOTJS_MAGIC_STRING_MSB, kSpiOrderMsb); iotjs_jval_set_property_number(jbit_order, IOTJS_MAGIC_STRING_LSB, kSpiOrderLsb); iotjs_jval_set_property_jval(jspi_cons, IOTJS_MAGIC_STRING_BITORDER_U, jbit_order); jerry_release_value(jbit_order); return jspi_cons; }
jerry_value_t InitAdc() { jerry_value_t jadc_cons = jerry_create_external_function(AdcCons); jerry_value_t jprototype = jerry_create_object(); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_READ, Read); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_READSYNC, ReadSync); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_CLOSE, Close); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_CLOSESYNC, CloseSync); iotjs_jval_set_property_jval(jadc_cons, IOTJS_MAGIC_STRING_PROTOTYPE, jprototype); jerry_release_value(jprototype); return jadc_cons; }
static void SetProcessArgv(jerry_value_t process) { const iotjs_environment_t* env = iotjs_environment_get(); uint32_t argc = iotjs_environment_argc(env); jerry_value_t argv = jerry_create_array(argc); for (uint32_t i = 0; i < argc; ++i) { const char* argvi = iotjs_environment_argv(env, i); jerry_value_t arg = jerry_create_string((const jerry_char_t*)argvi); iotjs_jval_set_property_by_index(argv, i, arg); jerry_release_value(arg); } iotjs_jval_set_property_jval(process, IOTJS_MAGIC_STRING_ARGV, argv); jerry_release_value(argv); }
void iotjs_stm32f4dis_pin_initialize(jerry_value_t jobj) { jerry_value_t jpin = jerry_create_object(); iotjs_jval_set_property_jval(jobj, "pin", jpin); #if ENABLE_MODULE_ADC iotjs_pin_initialize_adc(jpin); #endif /* ENABLE_MODULE_ADC */ #if ENABLE_MODULE_GPIO iotjs_pin_initialize_gpio(jpin); #endif /* ENABLE_MODULE_GPIO */ #if ENABLE_MODULE_PWM iotjs_pin_initialize_pwm(jpin); #endif /* ENABLE_MODULE_PWM */ jerry_release_value(jpin); }
iotjs_jval_t InitPwm() { iotjs_jval_t jpwm_constructor = iotjs_jval_create_function_with_dispatch(PWMConstructor); iotjs_jval_t jprototype = iotjs_jval_create_object(); iotjs_jval_set_method(&jprototype, IOTJS_MAGIC_STRING_SETPERIOD, SetPeriod); iotjs_jval_set_method(&jprototype, IOTJS_MAGIC_STRING_SETDUTYCYCLE, SetDutyCycle); iotjs_jval_set_method(&jprototype, IOTJS_MAGIC_STRING_SETENABLE, SetEnable); iotjs_jval_set_method(&jprototype, IOTJS_MAGIC_STRING_CLOSE, Close); iotjs_jval_set_property_jval(&jpwm_constructor, IOTJS_MAGIC_STRING_PROTOTYPE, &jprototype); iotjs_jval_destroy(&jprototype); return jpwm_constructor; }
jerry_value_t InitBlehcisocket() { jerry_value_t jblehcisocketCons = jerry_create_external_function(BleHciSocketCons); jerry_value_t prototype = jerry_create_object(); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_START, Start); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_BINDRAW, BindRaw); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_BINDUSER, BindUser); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_BINDCONTROL, BindControl); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_ISDEVUP, IsDevUp); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_SETFILTER, SetFilter); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_STOP, Stop); iotjs_jval_set_method(prototype, IOTJS_MAGIC_STRING_WRITE, Write); iotjs_jval_set_property_jval(jblehcisocketCons, IOTJS_MAGIC_STRING_PROTOTYPE, prototype); jerry_release_value(prototype); return jblehcisocketCons; }
static void SetProcessEnv(jerry_value_t process) { const char *homedir, *iotjspath, *iotjsenv, *extra_module_path; homedir = getenv(IOTJS_MAGIC_STRING_HOME_U); if (homedir == NULL) { homedir = ""; } iotjspath = getenv(IOTJS_MAGIC_STRING_IOTJS_PATH_U); if (iotjspath == NULL) { #if defined(__NUTTX__) || defined(__TIZENRT__) iotjspath = "/mnt/sdcard"; #else iotjspath = ""; #endif } #if defined(EXPERIMENTAL) iotjsenv = "experimental"; #else iotjsenv = ""; #endif extra_module_path = getenv(IOTJS_MAGIC_STRING_IOTJS_EXTRA_MODULE_PATH_U); jerry_value_t env = jerry_create_object(); iotjs_jval_set_property_string_raw(env, IOTJS_MAGIC_STRING_HOME_U, homedir); iotjs_jval_set_property_string_raw(env, IOTJS_MAGIC_STRING_IOTJS_PATH_U, iotjspath); iotjs_jval_set_property_string_raw(env, IOTJS_MAGIC_STRING_IOTJS_ENV_U, iotjsenv); iotjs_jval_set_property_string_raw( env, IOTJS_MAGIC_STRING_IOTJS_EXTRA_MODULE_PATH_U, extra_module_path ? extra_module_path : ""); iotjs_jval_set_property_jval(process, IOTJS_MAGIC_STRING_ENV, env); jerry_release_value(env); }
iotjs_jval_t InitBlehcisocket() { iotjs_jval_t jblehcisocketCons = iotjs_jval_create_function_with_dispatch(BleHciSocketCons); iotjs_jval_t prototype = iotjs_jval_create_object(); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_START, Start); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_BINDRAW, BindRaw); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_BINDUSER, BindUser); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_BINDCONTROL, BindControl); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_ISDEVUP, IsDevUp); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_SETFILTER, SetFilter); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_STOP, Stop); iotjs_jval_set_method(&prototype, IOTJS_MAGIC_STRING_WRITE, Write); iotjs_jval_set_property_jval(&jblehcisocketCons, IOTJS_MAGIC_STRING_PROTOTYPE, &prototype); iotjs_jval_destroy(&prototype); return jblehcisocketCons; }
void iotjs_jval_set_property_undefined(const iotjs_jval_t* jobj, const char* name) { const IOTJS_VALIDATED_STRUCT_METHOD(iotjs_jval_t, jobj); iotjs_jval_set_property_jval(jobj, name, iotjs_jval_get_undefined()); }
jerry_value_t InitGpio() { jerry_value_t jgpioConstructor = jerry_create_external_function(GpioCons); jerry_value_t jprototype = jerry_create_object(); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_CLOSE, Close); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_CLOSESYNC, CloseSync); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_WRITE, Write); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_WRITESYNC, WriteSync); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_READ, Read); iotjs_jval_set_method(jprototype, IOTJS_MAGIC_STRING_READSYNC, ReadSync); iotjs_jval_set_property_jval(jgpioConstructor, IOTJS_MAGIC_STRING_PROTOTYPE, jprototype); jerry_release_value(jprototype); // GPIO direction properties jerry_value_t jdirection = jerry_create_object(); iotjs_jval_set_property_number(jdirection, IOTJS_MAGIC_STRING_IN, kGpioDirectionIn); iotjs_jval_set_property_number(jdirection, IOTJS_MAGIC_STRING_OUT_U, kGpioDirectionOut); iotjs_jval_set_property_jval(jgpioConstructor, IOTJS_MAGIC_STRING_DIRECTION_U, jdirection); jerry_release_value(jdirection); // GPIO mode properties jerry_value_t jmode = jerry_create_object(); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_NONE_U, kGpioModeNone); #if defined(__NUTTX__) iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_PULLUP_U, kGpioModePullup); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_PULLDOWN_U, kGpioModePulldown); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_FLOAT_U, kGpioModeFloat); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_PUSHPULL_U, kGpioModePushpull); iotjs_jval_set_property_number(jmode, IOTJS_MAGIC_STRING_OPENDRAIN_U, kGpioModeOpendrain); #endif iotjs_jval_set_property_jval(jgpioConstructor, IOTJS_MAGIC_STRING_MODE_U, jmode); jerry_release_value(jmode); // GPIO edge properties jerry_value_t jedge = jerry_create_object(); iotjs_jval_set_property_number(jedge, IOTJS_MAGIC_STRING_NONE_U, kGpioEdgeNone); iotjs_jval_set_property_number(jedge, IOTJS_MAGIC_STRING_RISING_U, kGpioEdgeRising); iotjs_jval_set_property_number(jedge, IOTJS_MAGIC_STRING_FALLING_U, kGpioEdgeFalling); iotjs_jval_set_property_number(jedge, IOTJS_MAGIC_STRING_BOTH_U, kGpioEdgeBoth); iotjs_jval_set_property_jval(jgpioConstructor, IOTJS_MAGIC_STRING_EDGE_U, jedge); jerry_release_value(jedge); return jgpioConstructor; }
void iotjs_jval_set_property_boolean(const iotjs_jval_t* jobj, const char* name, bool v) { const IOTJS_VALIDATED_STRUCT_METHOD(iotjs_jval_t, jobj); iotjs_jval_set_property_jval(jobj, name, iotjs_jval_get_boolean(v)); }
void SetNativeSources(jerry_value_t native_sources) { for (int i = 0; js_modules[i].name; i++) { iotjs_jval_set_property_jval(native_sources, js_modules[i].name, jerry_create_boolean(true)); } }