mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 19:22:31 +00:00 
			
		
		
		
	Improved yosys.js example
This commit is contained in:
		
							parent
							
								
									4d34d031f9
								
							
						
					
					
						commit
						c2cc342e1a
					
				
					 1 changed files with 72 additions and 60 deletions
				
			
		|  | @ -1,11 +1,10 @@ | |||
| <html> | ||||
|   <head> | ||||
| <html><head> | ||||
| 	<title>yosys.js example application</title> | ||||
|   </head> | ||||
|   <body onload="document.getElementById('command').focus()"> | ||||
| </head><body onload="document.getElementById('command').focus()"> | ||||
| 	<h1>yosys.js example application</h1> | ||||
|     <div><textarea id="output" style="width: 100%" rows="30" cols="100">Loading...</textarea></div> | ||||
|     <div><form onsubmit="return run_command()"><tt><span id="prompt"><br/>yosys> </span></tt><input id="command" type="text" size="100"></form></div> | ||||
| 	<div><textarea id="output" style="width: 100%" rows="30" cols="100"></textarea></div> | ||||
| 	<div id="wait" style="display: block"><br/><b><span id="waitmsg">Loading...</span></b></div> | ||||
| 	<div id="input" style="display: none"><form onsubmit="return run_command()"><tt><span id="prompt"><br/>yosys> </span></tt><input id="command" type="text" size="100"></form></div> | ||||
| 	<script type='text/javascript'> | ||||
| 		var got_log_messages = false; | ||||
| 		var Module = { | ||||
|  | @ -13,7 +12,12 @@ | |||
| 				var element = document.getElementById('output'); | ||||
| 				if (element) element.value = ''; // clear browser cache | ||||
| 				return function(text) { | ||||
| 					if (!got_log_messages) { | ||||
| 						document.getElementById('wait').style.display = 'none'; | ||||
| 						document.getElementById('input').style.display = 'block'; | ||||
| 						document.getElementById('waitmsg').innerText = 'Waiting for yosys.js...'; | ||||
| 						got_log_messages = true; | ||||
| 					} | ||||
| 					if (element && typeof(text) != "number") { | ||||
| 						element.value += text + "\n"; | ||||
| 						element.scrollTop = element.scrollHeight; // focus on bottom | ||||
|  | @ -44,17 +48,25 @@ | |||
| 			var cmd = document.getElementById('command').value; | ||||
| 			document.getElementById('command').value = ''; | ||||
| 			Module.print(Module.prompt() + cmd); | ||||
| 			document.getElementById('wait').style.display = 'block'; | ||||
| 			document.getElementById('input').style.display = 'none'; | ||||
| 
 | ||||
| 			function run_command_bh() { | ||||
| 				try { | ||||
| 					Module.command(cmd); | ||||
| 				} catch (e) { | ||||
| 					Module.print('Caught JavaScript exception. (see JavaScript console for details.)'); | ||||
| 					console.log(e); | ||||
| 				} | ||||
| 	document.getElementById('command').focus(); | ||||
| 				document.getElementById('wait').style.display = 'none'; | ||||
| 				document.getElementById('input').style.display = 'block'; | ||||
| 				document.getElementById('prompt').innerText = Module.prompt(); | ||||
| 				document.getElementById('command').focus(); | ||||
| 			} | ||||
| 
 | ||||
| 			window.setTimeout(run_command_bh, 50); | ||||
| 			return false; | ||||
| 		} | ||||
| 	</script> | ||||
| 	<script async type="text/javascript" src="yosys.js"></script> | ||||
|   </body> | ||||
| </html> | ||||
| </body></html> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue