examples/dualshock3/dualshock3.js
"use strict";
var Cylon = require("cylon");
Cylon.robot({
connections: {
bluetooth: { adaptor: "ble", uuid: "84dd20eb3d89" },
dualshock3: { adaptor: "joystick" }
},
devices: {
controller: { driver: "dualshock-3", connection: "dualshock3" },
powerup: { driver: "powerup" }
},
work: function(my) {
var thrust = 0;
var rudder = 0;
var canRudder = false;
var cb = function(err) {
if (err) {
return console.log(err);
}
if (canRudder) {
canRudder = false;
my.powerup.setRudder(rudder, cb);
} else {
my.powerup.setThrust(thrust, cb);
}
};
my.powerup.setThrust(thrust, cb);
my.controller.on("left_y:move", function(data) {
if (data < 0) {
thrust = Math.abs(data / 32768 * 254) | 0;
} else {
thrust = 0;
}
});
my.controller.on("right_x:move", function(data) {
var tmp = data / 32768 * 127 | 0;
if (tmp !== rudder) {
rudder = tmp;
canRudder = true;
}
});
}
}).start();