先日、標準JavaScript…ECMAScriptでマイコンをプログラミングできるModdable SDKを知りインストールして稼働させている。
- インストールについて–>「ESP32をJavaScriptで動かすModdable SDK」
- Lちかプログラミング–>「ESP32をJavaScriptでプログラミング」
2019.12.07 03:06 頃、Moddable SDK のソースパッケージ内を探検していたら M5Stack のデバイス定義ファイル m5stack.json を見つけた。
M5StackをECMAScript(JavaScript)でプログラミングしてみようと思う。
1.サンプルプログラムのアップロード
まず、Moddable SDKのサンプルプログラムをM5Stackへのアップロードを試みた。ドキュメントを見るとM5Stackはesp32/m5stackという名称で扱うことがわかった。
サンプルプログラムをesp32/m5stackへアップロードすると難なく動いた😍
左:M5Stack 右:Maddable純正ESP32/Moddable_Zeroの互換回路
2.Lチカ・プログラム
次にLチカをやらせてみる。単純にLチカをやらすのは面白くないのでECMAScriptの特徴の並列動作をやらせることにした。上のサンプルの画像表示プログラムとLチカプログラムを並列動作させる。
Lチカ部分のプログラムは次のとおりで、単純に既存のサンプルプログラムにマージしてM5Stackに送り込む
import Timer from 'timer'
import Digital from 'pins/digital'
// Blink LED
function blink (led, interval) {
let sts = 0
Timer.repeat(() => {
sts = ~sts
Digital.write(led, sts)
}, interval)
}
let ledA = 17 // IO17
let ledB = 16 // IO16
blink(ledA, 200) //LED A を 200ミリ秒間隔で点滅
blink(ledB, 1000) //LED B を1000ミリ秒間隔で点滅
画像表示とLチカが並列動作する