diff --git a/app.py b/app.py
index 9f1a6bb..7a74f2b 100644
--- a/app.py
+++ b/app.py
@@ -60,11 +60,13 @@ def transmit():
action = ACTION_MAP[data['action']]
intensity = int(data.get('intensity', 0))
lucal = bool(data.get('lucalEncoded', False))
+ pin = int(data['shockerPin'])
# If any of those failed, return an error.
except (ValueError, KeyError):
return {'success': False, 'message': 'Request must contain the following keys:\n'+
'txID: int,\n'+
'channel: int,\n'+
+ 'pin: int,\n'+
'action: "shock", "vibrate" or "beep",\n'+
'intensity (optional): int\n'+
'lucalEncoded (optional): bool'}, 400
diff --git a/www/index.html b/www/index.html
index ba4c1fd..a354a43 100644
--- a/www/index.html
+++ b/www/index.html
@@ -18,6 +18,8 @@
LucalEncoded?
+ PIN
+
Shock
diff --git a/www/main.js b/www/main.js
index 9efd66b..7e42090 100644
--- a/www/main.js
+++ b/www/main.js
@@ -24,13 +24,13 @@ function assert(condition, message) {
}
}
-async function transmit(transmitterID, channel, action, intensity=0, lucalEncoded=false) {
+async function transmit(transmitterID, channel, action, intensity=0, lucalEncoded=false, shockerPin) {
assert(typeof transmitterID === 'number');
assert(typeof channel === 'number');
assert(['shock', 'vibrate', 'beep'].includes(action));
assert(typeof intensity === 'number');
assert(typeof lucalEncoded === 'boolean');
- POST('/transmit', {transmitterID: transmitterID, channel: channel, action: action, intensity: intensity, lucalEncoded: lucalEncoded});
+ POST('/transmit', {transmitterID: transmitterID, channel: channel, action: action, intensity: intensity, lucalEncoded: lucalEncoded, shockerPin: shockerPin});
}
@@ -39,7 +39,8 @@ async function txFromUI(action, intensity=0) {
let transmitterID = Number(document.getElementById('transmitterIDInput').value);
let channel = Number(document.getElementById('channelIDInput').value);
let lucalEncoded = document.getElementById('lucalEncodedInput').checked;
- transmit(transmitterID, channel, action, intensity, lucalEncoded);
+ let shockerPin = document.getElementById('shockerPinInput').value;
+ transmit(transmitterID, channel, action, intensity, lucalEncoded, shockerPin);
}
async function shock() {