diff options
author | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2023-01-16 09:43:05 +0100 |
---|---|---|
committer | Jakob Stendahl <jakob.stendahl@outlook.com> | 2023-01-16 09:44:19 +0100 |
commit | 1a2aa931a57f586c17cde95748d195f565619910 (patch) | |
tree | 1b7cc05647f57220d981227c0008f10e48cf7624 /src/js/main.js | |
parent | b7b331dd28ff0fb9763c20c8cc65c0c69cf460c8 (diff) | |
download | microbit-gamepad-1a2aa931a57f586c17cde95748d195f565619910.tar.gz microbit-gamepad-1a2aa931a57f586c17cde95748d195f565619910.zip |
Add some error handling, add Uart service, add event queue for gatt events
Diffstat (limited to 'src/js/main.js')
-rw-r--r-- | src/js/main.js | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/js/main.js b/src/js/main.js index 3a6f9e9..0b80e3a 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -115,11 +115,15 @@ document.querySelector("#btn_hide_settings").addEventListener("click", () => { document.querySelector("#btn_disconnect").addEventListener("click", () => { ubit.disconnect(); }); -document.getElementById("btn_connect").addEventListener("click", () => { +document.getElementById("btn_connect").addEventListener("click", async () => { if (!navigator.bluetooth) { notif_alert("You need a bluetooth enabled browser for this app to work, try chrome."); } - ubit.searchDevice(); + try { + await ubit.searchDevice(); + } catch (e) { + notif_alert(`Could not connect to device: ${e}.`); + } }); /* Handle gamepad events */ @@ -184,7 +188,14 @@ gamepad.onTouchEvent(e => { } } if ((ubit.isConnected()) && (event_value != null)) { - ubit.eventService.sendEvent(event_type, event_value); + ubit.sendEvent(event_type, event_value); + } + + if ((e.id == "right") && e.hasOwnProperty("x")) { + ubit.sendUart(`x:${e.x}\n`); + } + if ((e.id == "left") && e.hasOwnProperty("y")) { + ubit.sendUart(`y:${e.y}\n`); } }); |