| | <!DOCTYPE html> |
| | <html> |
| |
|
| | <head> |
| | <meta charset="UTF-8" /> |
| | <title>Sinus</title> |
| | </head> |
| |
|
| | <body> |
| | <h1>Sinus</h1> |
| | <div id="sliders"> |
| | <label for="amplitude">Amplitude:</label> |
| | <input type="range" id="amplitude" min="0" max="100" value="25" /> |
| | <span id="amplitudeValue">25</span> |
| | <br /> |
| | <label for="frequency">Sinus Frequency:</label> |
| | <input type="range" id="frequency" min="0" max="2" step="0.1" value="0.5" /> |
| | <span id="frequencyValue">0.5</span> |
| | <br /> |
| | </div> |
| | <h1>Synchronisation</h1> |
| | <div id="synchronisation"> |
| | <label for="sync">Sync freq:</label> |
| | <input type="range" id="sync" min="1" max="200" step="10" value="100" /> |
| | <span id="syncValue">50</span> |
| | <br /> |
| | <label for="motor_0">Motor 0 synced:</label> |
| | <input type="checkbox" id="motor_0_synced" /> |
| | <br /> |
| | <label for="motor_1">Motor 1 synced:</label> |
| | <input type="checkbox" id="motor_1_synced" /> |
| | <br /> |
| | <label for="motor_2">Motor 2 synced:</label> |
| | <input type="checkbox" id="motor_2_synced" checked /> |
| | <br /> |
| | <label for="motor_3">Motor 3 synced:</label> |
| | <input type="checkbox" id="motor_3_synced" checked /> |
| | <br /> |
| | <label for="motor_4">Motor 4 synced:</label> |
| | <input type="checkbox" id="motor_4_synced" /> |
| | <br /> |
| | <label for="motor_5">Motor 5 synced:</label> |
| | <input type="checkbox" id="motor_5_synced" /> |
| | <br /> |
| | </div> |
| |
|
| | <h1>Debug</h1> |
| | <div id="debug"> |
| | <label for="verbose">Verbose:</label> |
| | <input type="checkbox" id="verbose" /> |
| | </div> |
| |
|
| | |
| |
|
| | <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js" |
| | integrity="sha512-q/dWJ3kcmjBLU4Qc47E4A9kTB4m3wuTY7vkFJDTZKjTs8jhyGQnaUrxa0Ytd0ssMZhbNua9hE+E7Qv1j+DyZwA==" |
| | crossorigin="anonymous"></script> |
| | <script src="sinus.js"></script> |
| |
|
| | </body> |
| |
|
| | </html> |