Last active
January 23, 2017 04:42
-
-
Save naokisekiguchi/a3a5929fdb3392f6669f061d77978b5b to your computer and use it in GitHub Desktop.
WoTsignage:物理スイッチ押下時の処理まで
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Lチカ用にLEDポートのためのグローバル変数を定義 | |
var ledPort; | |
// task.js ライブラリ | |
const { spawn, sleep } = task; | |
// document 内のリソースが読み終わるのを待つ | |
document.addEventListener("DOMContentLoaded", () => { | |
// task.js の spawn 関数内では Promise が同期的に記述できる | |
spawn(function() { | |
// GPIO へのアクセサを取得 | |
const gpioAccessor = yield navigator.requestGPIOAccess(); | |
//GPIO198(CHIRIMEN CN1-9)をLチカ用のGPIOポートとして利用する | |
ledPort = gpioAccessor.ports.get(198); | |
//ledPortを出力として利用する | |
yield ledPort.export("out"); | |
//GPIO199(CHIRIMEN CN1-10)をタクトスイッチ用のGPIOポート | |
var btnPort = gpioAccessor.ports.get(199); | |
//btnPortを入力として利用する | |
yield btnPort.export("in"); | |
//btnPortの値に変化があった時(タクトスイッチが押された時)の処理を規定 | |
btnPort.onchange = (btnValue) => { | |
//コンソールにメッセージを出力 | |
console.log("pushed!!",btnValue); | |
} | |
//リンクをクリックした時のイベントを設定する関数 | |
addEventLink(); | |
}); | |
}); | |
function addEventLink(){ | |
//ドキュメント内のaタグを全て取得 | |
Array.from(document.querySelectorAll("a"), (e) => { | |
//取得した要素(aタグ)にtouchstartイベントを設定(CHIRIMENではマウスイベントはtouchイベントに置き換えられる) | |
e.addEventListener("touchstart",()=>{ | |
//LEDを点灯させる | |
ledPort.write(1); | |
//一致時間(1000ミリ秒)後の処理を記述 | |
setTimeout(()=>{ | |
//LEDを消灯させる | |
ledPort.write(0); | |
},1000); | |
}); | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment