Advertisement
Guest User

Untitled

a guest
Oct 25th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. //Lチカ用にLEDポートのためのグローバル変数を定義
  2. var ledPort;
  3.  
  4. // task.js ライブラリ
  5. const { spawn, sleep } = task;
  6. // document 内のリソースが読み終わるのを待つ
  7. document.addEventListener("DOMContentLoaded", () => {
  8.  
  9. // task.js の spawn 関数内では Promise が同期的に記述できる
  10. spawn(function() {
  11. // GPIO へのアクセサを取得
  12. const gpioAccessor = yield navigator.requestGPIOAccess();
  13. //GPIO198(CHIRIMEN CN1-9)をLチカ用のGPIOポートとして利用する
  14. ledPort = gpioAccessor.ports.get(198);
  15. //ledPortを出力として利用する
  16. yield ledPort.export("out");
  17.  
  18. //GPIO199(CHIRIMEN CN1-10)をタクトスイッチ用のGPIOポート
  19. var btnPort = gpioAccessor.ports.get(199);
  20. //btnPortを入力として利用する
  21. yield btnPort.export("in");
  22. //btnPortの値に変化があった時(タクトスイッチが押された時)の処理を規定
  23. btnPort.onchange = (btnValue) => {
  24. //コンソールにメッセージを出力
  25. console.log("pushed!!",btnValue);
  26. }
  27.  
  28. //リンクをクリックした時のイベントを設定する関数
  29. addEventLink();
  30. });
  31.  
  32. });
  33.  
  34. function addEventLink(){
  35. //ドキュメント内のaタグを全て取得
  36. Array.from(document.querySelectorAll("a"), (e) => {
  37. //取得した要素(aタグ)にtouchstartイベントを設定(CHIRIMENではマウスイベントはtouchイベントに置き換えられる)
  38. e.addEventListener("touchstart",()=>{
  39. //LEDを点灯させる
  40. ledPort.write(1);
  41. //一致時間(1000ミリ秒)後の処理を記述
  42. setTimeout(()=>{
  43. //LEDを消灯させる
  44. ledPort.write(0);
  45. },1000);
  46. });
  47. });
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement