Energiz3r / robodog

4 stars 2 forks source link

WebUI for WASD / Touch control #5

Closed Energiz3r closed 1 month ago

Energiz3r commented 1 month ago

Build a WebUI to control the robot

Energiz3r commented 1 month ago

I've built a basic webUI which is hosted by an Express server. A worker thread is spawned to execute the actual robot controller to prevent blocking of the server calls, as the robot's main thread / loop is a blocking process (NodeJS does not have a non-blocking sleep or wait function).

Websocket is used to send updates to the server, and worker post messages are used to pass these events to the robot thread

For now the UI is a simple HTML / css page with some buttons on it for touch screen and keyboard inputs. A separate ticket exists to add controller input support to the page

In theory any client with websocket support should be able to control the robot, but for automated input a different method of control may be needed