先日、標準JavaScript…ECMAScriptでマイコンをプログラミングできるModdable SDKを知りインストールして稼働させている。

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チカプログラムの解説はこちら


画像表示とLチカが並列動作する

Follow me!