3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-06 06:03:23 +00:00

Improved YosysJS WebWorker API

This commit is contained in:
Clifford Wolf 2015-07-04 17:08:44 +02:00
parent 766dd51447
commit c4dde71dca
3 changed files with 51 additions and 10 deletions

View file

@ -227,6 +227,7 @@ var YosysJS = new function() {
ys.worker = new Worker('yosyswrk.js');
ys.callback_idx = 1;
ys.callback_cache = {};
ys.errmsg = "";
ys.callback_cache[0] = on_ready;
on_ready = null;
@ -235,6 +236,7 @@ var YosysJS = new function() {
var response = e.data[0];
var callback = ys.callback_cache[response.idx];
delete ys.callback_cache[response.idx];
if ("errmsg" in response) ys.errmsg = response.errmsg;
if (callback) callback.apply(null, response.args);
}
@ -294,6 +296,17 @@ var YosysJS = new function() {
ys.worker.postMessage([request]);
}
ys.verbose = function(value, callback) {
var request = {
"idx": ys.callback_idx,
"mode": "verbose",
"value": value
};
ys.callback_cache[ys.callback_idx++] = callback;
ys.worker.postMessage([request]);
}
return ys;
}
}