TinyJS on mbed. TinyJS is very simple JavaScript engine.
You are viewing an older revision! See the latest version
Homepage
TinyJS on mbed¶
what's this ?¶
TinyJS is an extremely simple (-2000 line) JavaScript interpreter engine.
I ported on mbed. but it restrict any features.
TinyJS project is https://code.google.com/p/tiny-js/
TinyJSは2000行以下で書かれた非常に小さいJavaScriptインタプリタエンジンです。
これをmbedに移植してみました。(ただし、いろいろ制限があります)
本家はこちら。 https://code.google.com/p/tiny-js/
how to use¶
You can use on serial terminal application by serial USB.
baud = 57600bps
USBシリアルとして、ターミナルソフトを接続するとコンソールが表示されます。
ボーレートは57600bpsになってます。
functions¶
functions for mbed.
mbed用関数
- mbed.DigitalIn(pinName, mode)
- mbed.DigitalOut(pinName, val)
- mbed.AnalogIn(pinName)
- mbed.AnalogOut(pinName, val)
- mbed.InterruptIn(pinName, edge, mode, callback)
- mbed.TimerStart()
- mbed.TimerStop()
- mbed.TimerReset()
- mbed.TimerRead()
- mbed.Timeout(callback, t)
- mbed.wait(s)
- mbed.memfree()
sample JavaScript codes¶
DigitalOut sample code
mbed.DigitalOut('LED1', 1); mbed.DigitalOut('LED2', 0); mbed.DigitalOut('LED3', 1); mbed.DigitalOut('LED4', 0);
LED1 = On, LED2=Off, LED3=On, ED4=Off
LED1 = 点灯、LED2=消灯、LED3=点灯、LED4=消灯
DigitalIn sample code
print(mbed.DigitalIn('p5', 'PullUp'));
p5 is pull up, read, and print out on console.
p5をPullUpして読みプリントする。
AnalogOut sample code
mbed.AnalogOut('p18', 0.8);
p18 is analog output, value is 0.8.
p18を 値0.8でアナログ出力する。
AnalogIn sample code
print(mbed.AnalogIn('p20'));
p20 is read analog voltage, and print out on console.
p20をアナログ入力しプリントする。
InterruptIn and wait sample code
var led1 = 0; mbed.InterruptIn('p5', 'fall', 'PullUp', function() {led1 = !led1; mbed.DigitalOut('LED1', led1);});
Interrupt on p5, and ON/OFF does LED1.
p5で割り込んでLED1をON/OFFする。
Timeout and wait sample code
mbed.Timeout(function() {mbed.DigitalOut('LED1', 1);mbed.wait(3);mbed.DigitalOut('LED1', 0);}, 4);
LED1=on when wait for 4 seconds. and LED1=off for 3 seconds later.
LED1を4秒待って点灯して3秒後に消灯する。
memfree sample code
print(mbed.memfree());
This prints out the number of bytes of the remainder memory on mbed where TinyJS is usable.
これはTinyJSが使えるmbed上での残りメモリのバイト数をプリントアウトする。
LED Blinker by Timeout and wait sample code
blink = function {mbed.Timeout(function() {mbed.DigitalOut('LED1', 1);mbed.wait(0.5);mbed.DigitalOut('LED1', 0);blink();}, 0.5);}; blink();
restrictions¶
- There is very little available memory. Less than (9kbytes on LPC1768)
- The loop to 8,192 times.
- The built-in function (general JavaScript function) that TinyJS prepares for for securing of memory is not included.
more, more, more ....
制限事項
- 利用できるメモリは非常に少ない。(LPC1768で9kbytes以下)
- ループは8192回まで。
- メモリ確保のためTinyJSが用意している組み込み関数(一般的なJavaScript関数)は含まれない。
他、多数....
sample movies¶
http://www.youtube.com/watch?v=ARp0DK70JGM
http://www.youtube.com/watch?v=UOZQ4eEC4xA