bb8
Version:
Force control Sphero BB8 w/ Xbox controller or Myo armband
44 lines (37 loc) • 971 B
JavaScript
// deps
import * as utils from './utils';
//
// JOYSTICK COMMANDS / HELPERS
//
export default function (joystick) {
// get device interface
// const controller = joystick.device;
// console.log('[JOYSTICK] CMDS @ ', controller);
//
// check if coord position is in range
//
joystick.positionInRange = (position, threshold) => {
return (Math.abs(position) > threshold);
};
//
// get point quadrant circle position
//
joystick.getQuadrant = (x, y) => {
return utils.getQuadrant(x, y);
};
//
// get angle helper
//
joystick.getAngle = (x, y) => {
return utils.getAngle(x, y);
};
//
// convert Xbox trigger position to bb8 speed factor
// trigger position interval: [-1 ... 1]
// bb8 speed interval : [0 ... 100]
//
joystick.convertPositionToSpeed = (pos) => {
const speed = ~~((pos + 1) * 50);
return speed;
};
}