mirror of
https://github.com/eclipse/upm.git
synced 2025-03-21 16:07:29 +03:00
79 lines
1.6 KiB
JavaScript
79 lines
1.6 KiB
JavaScript
/*
|
|
* 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();
|
|
});
|