From e0e6d130cd083a8285ea2991629e0049023da234 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 19 Feb 2015 13:36:54 +0100 Subject: YosysJS stuff --- misc/yosysjs/yosysjs.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'misc/yosysjs/yosysjs.js') diff --git a/misc/yosysjs/yosysjs.js b/misc/yosysjs/yosysjs.js index 87c951183..a1181493e 100644 --- a/misc/yosysjs/yosysjs.js +++ b/misc/yosysjs/yosysjs.js @@ -45,6 +45,7 @@ var YosysJS = new function() { ys.verbose = false; ys.logprint = false; ys.echo = false; + ys.errmsg = ""; if (typeof(reference_element) == 'string' && reference_element != "") reference_element = document.getElementById(reference_element); @@ -151,12 +152,20 @@ var YosysJS = new function() { ys.write(""); ys.write(ys.prompt() + cmd); } - mod.ccall('run', '', ['string'], [cmd]); + try { + mod.ccall('run', '', ['string'], [cmd]); + } catch (e) { + ys.errmsg = mod.ccall('errmsg', 'string', [], []);; + } return ys.print_buffer; } ys.read_file = function(filename) { - return ys.window.FS.readFile(filename, {encoding: 'utf8'}); + try { + return ys.window.FS.readFile(filename, {encoding: 'utf8'}); + } catch (e) { + return ""; + } } ys.write_file = function(filename, text) { @@ -167,6 +176,12 @@ var YosysJS = new function() { return ys.window.FS.readdir(dirname); } + ys.remove_file = function(filename) { + try { + ys.window.FS.unlink(filename); + } catch (e) { } + } + doc.open() doc.write('