mirror of
https://github.com/github/codeql.git
synced 2025-12-22 19:56:32 +01:00
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
var robot = require('./robot');
|
|
var fs = require('fs');
|
|
var parseString = require('xml2js').parseString;
|
|
|
|
// robotId should be the last 4 characters of the bluetooth address of your Robotis device
|
|
// You can see its address on a Mac if you hold down 'option' while viewing the menu bar's bluetooth dropdown
|
|
|
|
// Example: node src/command.js 1216 19
|
|
var args = process.argv.slice(2);
|
|
var robotId = args[0]; // e.g. if the address is 'b8-63-bc-00-12-16' your robotId is 1216
|
|
var command = args[1] || '1'; // 1 should be set to mean: return to initial position
|
|
|
|
parseString(fs.readFileSync(__dirname + '/assets/assumedMotionFile.mtnx', { encoding: 'utf8' }), function (err, result)
|
|
{
|
|
var flows = result.Root.BucketRoot[0].Bucket[0].callFlows[0].callFlow.map(function (obj) { return obj.$; });
|
|
var flowsByNumber = {};
|
|
flows.forEach(function (flow)
|
|
{
|
|
flowsByNumber[flow.callIndex] = flow.flow;
|
|
});
|
|
|
|
// console.log(JSON.stringify(flowsByNumber, null, 2));
|
|
|
|
if (command in flowsByNumber)
|
|
{
|
|
console.log('>> ' + flowsByNumber[command]);
|
|
robot.connect(robotId, function onConnect(err)
|
|
{
|
|
robot.sendCommand(Number(command));
|
|
});
|
|
}
|
|
else
|
|
{
|
|
console.log('Unrecognized command: ' + command);
|
|
}
|
|
});
|
|
|
|
|
|
|