aboutsummaryrefslogtreecommitdiff
path: root/src/js/main.js
diff options
context:
space:
mode:
authorjakob.stendahl <jakob.stendahl@infomedia.dk>2023-01-16 09:43:05 +0100
committerJakob Stendahl <jakob.stendahl@outlook.com>2023-01-16 09:44:19 +0100
commit1a2aa931a57f586c17cde95748d195f565619910 (patch)
tree1b7cc05647f57220d981227c0008f10e48cf7624 /src/js/main.js
parentb7b331dd28ff0fb9763c20c8cc65c0c69cf460c8 (diff)
downloadmicrobit-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.js17
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`);
}
});