/* * Author: Zion Orent * 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(); });