Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //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);
- });
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement