robotois-motors
Version:
Node library to control the robotois motors component
62 lines (48 loc) • 1.59 kB
JavaScript
const MotorModule = require('bindings')('MotorsModule');
/**
* Creates an instance of TemperatureSensor.
* @param {int} add The second argument.
* @returns {MotorsModule} MotorsModule object.
*/
function MotorsModule(add = 0) {
const self = this;
this.motors = new MotorModule(add);
this.stop = 0x00;
process.on('SIGINT', () => {
self.motors.release();
});
process.on('SIGTERM', () => {
self.motors.release();
});
}
MotorsModule.prototype.motor1PWM = function motor1PWM(m1PWM) {
this.motors.motor1PWM(m1PWM);
};
MotorsModule.prototype.motor2PWM = function motor2PWM(m2PWM) {
this.motors.motor2PWM(m2PWM);
};
MotorsModule.prototype.motor1Stop = function motor1Stop() {
this.motors.motor1Control(this.stop);
};
MotorsModule.prototype.motor2Stop = function motor2Stop() {
this.motors.motor2Control(this.stop);
};
MotorsModule.prototype.motorsPWM = function motorsPWM(m1PWM, m2PWM) {
this.motors.motorsPWM(m1PWM, m2PWM);
};
MotorsModule.prototype.motorsStop = function motorsStop() {
this.motors.motorsControl(this.stop, this.stop);
};
MotorsModule.prototype.drivePWM = function drivePWM(leftPWM, rightPWM) {
this.motors.drivePWM(leftPWM, rightPWM);
};
MotorsModule.prototype.forward = function forward(motorNumber) {
this.motors[motorNumber === 1 ? 'motor1PWM' : 'motor2PWM'](50);
};
MotorsModule.prototype.backward = function backward(motorNumber) {
this.motors[motorNumber === 1 ? 'motor1PWM' : 'motor2PWM'](-50);
};
MotorsModule.prototype.release = function release() {
this.motors.release();
};
module.exports = MotorsModule;