80 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html lang="en">
 | |
| 
 | |
| <head>
 | |
|   <meta charset="UTF-8" />
 | |
|   <meta name="viewport" content="width=device-width, initial-scale=1" />
 | |
|   <title>TinyUSB WebUSB Serial</title>
 | |
|   <link rel="stylesheet" href="style.css" />
 | |
|   <script defer src="serial.js"></script>
 | |
|   <script defer src="application.js"></script>
 | |
|   <script defer src="divider.js"></script>
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
|   <header class="header">
 | |
|     <h1 class="app-title">TinyUSB - WebUSB Serial</h1>
 | |
|     <button id="theme-toggle" class="btn btn-theme">Theme: Auto</button>
 | |
|     <a class="github-link" href="https://github.com/hathach/tinyusb/tree/master/examples/device/webusb_serial/website"
 | |
|       target="_blank">
 | |
|       Find my source on GitHub
 | |
|     </a>
 | |
|   </header>
 | |
|   <main>
 | |
|     <section class="controls-section">
 | |
|       <button id="connect_webusb_serial_btn" class="controls btn good">Connect WebUSB</button>
 | |
|       <button id="connect_serial_btn" class="controls btn good">Connect Serial</button>
 | |
|       <button id="disconnect_btn" class="controls btn danger">Disconnect</button>
 | |
|       <label for="newline_mode_select" class="controls">
 | |
|         Command newline mode:
 | |
|         <select id="newline_mode_select">
 | |
|           <option value="CR">Only \r</option>
 | |
|           <option value="CRLF">\r\n</option>
 | |
|           <option value="ANY" selected>\r, \n or \r\n</option>
 | |
|         </select>
 | |
|       </label>
 | |
|       <label for="auto_reconnect_checkbox" class="controls">
 | |
|         <input type="checkbox" id="auto_reconnect_checkbox" />
 | |
|         Auto Reconnect
 | |
|       </label>
 | |
|       <button id="forget_device_btn" class="controls btn danger">Forget Device</button>
 | |
|       <button id="forget_all_devices_btn" class="controls btn danger">Forget All Devices</button>
 | |
|       <button id="reset_all_btn" class="controls btn danger">Reset All</button>
 | |
|       <button id="copy_output_btn" class="controls btn good">Copy Output</button>
 | |
|       <button id="download_csv_output_btn" class="controls btn good">Download CSV</button>
 | |
|     </section>
 | |
|     <section class="status-section">
 | |
|       <span id="status_span" class="status">
 | |
|         Click "Connect" to start
 | |
|       </span>
 | |
|     </section>
 | |
|     <div class="io-container">
 | |
|       <section class="column">
 | |
|         <div class="heading-with-controls">
 | |
|           <h2>Command History</h2>
 | |
|           <button id="clear_command_history_btn" class="controls btn danger">Clear History</button>
 | |
|         </div>
 | |
|         <div class="scrollbox-wrapper">
 | |
|           <div id="command_history_scrollbox" class="scrollbox monospaced"></div>
 | |
|         </div>
 | |
|         <div class="send-container">
 | |
|           <input id="command_line_input" class="input" placeholder="Start typing..." autocomplete="off" disabled />
 | |
|           <button id="send_mode_btn" class="btn send-mode-command">Command Mode</button>
 | |
|         </div>
 | |
|       </section>
 | |
|       <div class="resizer" id="resizer"></div>
 | |
|       <section class="column">
 | |
|         <div class="heading-with-controls">
 | |
|           <h2>Received Data</h2>
 | |
|           <button id="clear_received_data_btn" class="controls btn danger">Clear Received</button>
 | |
|         </div>
 | |
|         <div class="scrollbox-wrapper">
 | |
|           <div id="received_data_scrollbox" class="scrollbox monospaced"></div>
 | |
|         </div>
 | |
|       </section>
 | |
|     </div>
 | |
|   </main>
 | |
| </body>
 | |
| 
 | |
| </html>
 | 
