premature untested buzzer integration

This commit is contained in:
Astro 2011-04-22 21:30:20 +02:00
parent 7957805b60
commit c7dafc704b
2 changed files with 35 additions and 7 deletions

29
quiz.js
View File

@ -428,6 +428,24 @@ function switchToGame() {
};
timer.set(TIMER_QUESTION, timeout);
var activatePlayer = function(player) {
if (activePlayer !== null)
return;
if (playerNames[player]) {
activePlayer = player;
updateTier();
timer.set(TIMER_ANSWER, timeout);
}
for(var i = 0; i < playerNames.length; i++) {
sendToBackend({ buzzerLED: [i, i === player ? 1 : 0] });
}
sendToBackend({ buzzerLED: [player, 1] });
};
for(var i = 0; i < playerNames.length; i++) {
sendToBackend({ buzzerLED: [i, 1] });
}
keyHandler = function(key, keyCode) {
if (keyCode === 27) {
// Shortcut: cancel this state
@ -437,11 +455,7 @@ function switchToGame() {
PLAYER_KEYS.indexOf(key) >= 0) {
// No active player before, but somebody hit a button!
var player = PLAYER_KEYS.indexOf(key);
if (playerNames[player]) {
activePlayer = player;
updateTier();
timer.set(TIMER_ANSWER, timeout);
}
activatePlayer(player);
} else if (activePlayer !== null &&
ANSWER_KEYS.indexOf(key) >= 0) {
// player pronounced the answer
@ -474,6 +488,11 @@ function switchToGame() {
}
};
onBackendMessage = function(msg) {
if (msg.buzzer)
activatePlayer(msg.buzzer);
};
$('#nedap').hide();
$('#irc').hide();
onBackendMessage = null;

View File

@ -91,6 +91,14 @@ function pushIrcInfo() {
}
/*
* Buttons
*/
var buzz = new (require('./buzz_iface/node_lib/buzz').Buzz)('/dev/ttyUSB0');
buzz.on('button', function(key) {
sendToFrontend({ buzzer: key });
});
/*
* Web server
*/
@ -125,9 +133,10 @@ wss.createServer({ server: server }).on('connection', function(conn) {
if (msg.nedap) {
console.log({ toNedap: msg.nedap });
nedap.send(JSON.stringify(msg.nedap));
}
else if (msg.irc === "activate") {
} else if (msg.irc === "activate") {
pushIrcInfo();
} else if (msg.buzzerLED) {
buzz.set_led(msg.buzzerLED[0], msg.buzzerLED[1]);
}
} catch (e) {
console.error(e.stack);