79 lines
1.6 KiB
JavaScript
Raw Normal View History

/*
* Author: Zion Orent <zorent@ics.com>
* Copyright (c) 2015 Intel Corporation.
*
* This program and the accompanying materials are made available under the
* terms of the The MIT License which is available at
* https://opensource.org/licenses/MIT.
*
* SPDX-License-Identifier: MIT
*/
var MotorDriver_lib = require('jsupm_md');
function start()
{
if (my_MotorDriver_obj)
{
// set direction to CW and set speed to 50%
console.log("Spin M1 and M2 at half speed for 3 seconds");
my_MotorDriver_obj.setMotorDirections(MotorDriver_lib.MD.DIR_CW,
MotorDriver_lib.MD.DIR_CW);
my_MotorDriver_obj.setMotorSpeeds(127, 127);
}
}
function reverse()
{
if (my_MotorDriver_obj)
{
// counter clockwise
console.log("Reversing M1 and M2 for 3 seconds");
my_MotorDriver_obj.setMotorDirections(MotorDriver_lib.MD.DIR_CCW,
MotorDriver_lib.MD.DIR_CCW);
}
}
function end()
{
if (my_MotorDriver_obj)
{
console.log("Stopping motors");
my_MotorDriver_obj.setMotorSpeeds(0, 0);
}
exit();
}
// When exiting: clear memory and print exit message
function exit()
{
if (my_MotorDriver_obj)
{
my_MotorDriver_obj = null;
MotorDriver_lib.cleanUp();
}
MotorDriver_lib = null;
console.log("Exiting");
process.exit(0);
}
// Instantiate an I2C Motor Driver on I2C bus 0
var my_MotorDriver_obj = new MotorDriver_lib.MD(
MotorDriver_lib.MD_I2C_BUS,
MotorDriver_lib.MD_DEFAULT_I2C_ADDR);
start();
setTimeout(function()
{
reverse();
setTimeout(end, 3000);
}, 3000);
process.on('SIGINT', function()
{
exit();
});