Skip to content

eliot-akira/quickjs-esp32

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickJS for ESP32 with Arduino

Status: Experimental

Based on:

Build

-DCONFIG_VERSION=$(cat VERSION)

Include

*.c
*.h

Exclude

tests/
examples/
doc/
qjs.c
qjsc.c
quickjs-libc.c
quickjs-libc.h
unicode_gen.c
run-test262.c

Embed

main.ino

#include <Arduino.h>
#include "esp/quickjs.h"

static const char *jscode = R"CODE(
  console.log('Hello, JavaScript!');
)CODE";

QuickJS qjs;

void setup() {
  Serial.begin(115200);
  qjs.begin();
  qjs.exec(jscode);
}

API

  • console.log(string)
  • setTimeout(callback, ms) : int
  • setInterval(callback, ms) : int
  • clearTimeout(id)

esp32 module

  • esp32.millis() : int
  • esp32.digitalRead(pin) : int
  • esp32.digitalWrite(pin, value) // value=0: LOW, 1: HIGH
  • esp32.pinMode(pin, mode) // mode=1: INPUT, 2: OUTPUT
  • esp32.setLoop(func) // func is called every arduino loop().
  • esp32.deepSleep(us) // not returns

If WiFi.h is included:

  • esp32.isWifiConnected() : bool
  • esp32.fetch(url, {method:string, body:string}): Promise<{body:string, status:int}>

About

QuickJS Javascript Engine for ESP32

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 88.5%
  • C++ 6.0%
  • JavaScript 4.9%
  • Other 0.6%