c2000ware-core-sdk/driverlib/.meta/generate_diagrams.js

68 lines
1.7 KiB
JavaScript
Raw Normal View History

2023-06-24 09:05:38 +03:00
var fs = require('fs');
var path = require('path');
var childProcess = require('child_process');
function runScript(scriptPath, args, callback) {
// keep track of whether callback has been invoked to prevent multiple invocations
var invoked = false;
var process = childProcess.fork(scriptPath, args);
// listen for errors as they may prevent the exit event from firing
process.on('error', function (err) {
if (invoked) return;
invoked = true;
callback(err);
});
// execute the callback once the process has finished running
process.on('exit', function (code) {
if (invoked) return;
invoked = true;
var err = code === 0 ? null : new Error('exit code ' + code);
callback(err);
});
}
var c2000ware_root_path = process.argv.slice(2)[0];
var outputFolderPath = process.argv.slice(2)[1];
var inputFolderPath = process.argv.slice(2)[2];
var module_diagrams_info = [
{
name: "adc",
engine: "neato"
},
{
name: "epwm",
engine: "dot"
},
{
name: "clb",
engine: "dot"
}
]
for (var module_diagram_info of module_diagrams_info)
{
var inputFileName = module_diagram_info.name;
var inputFileEngine = module_diagram_info.engine;
runScript(c2000ware_root_path + '/utilities/clb_tool/clb_syscfg/dot_file_libraries/renderDotFull.js',
[
c2000ware_root_path + "/utilities/clb_tool/clb_syscfg",
outputFolderPath,
inputFolderPath + "/" + inputFileName + ".dot",
inputFileName,
inputFileEngine
], function (err) {
//console.log('finished running script with errors');
}
);
}