The desktop application side is listening for events that are incoming from a ROS topic over a websockets connection (with roslibpy).
The bridge between puck.js and ROS is a very trivial webpage (source) that connects to the puck.js, and starts an interval to send over the knob's value (an analog pin read) (and also the capsense value, that I didn't use so far). That same page publishes the value to ROS topics via websockets as well.
All and all, it's extremely simple, but it uses a bunch of very unrelated technologies. ;)
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Nope, not HID.
The desktop application side is listening for events that are incoming from a ROS topic over a websockets connection (with roslibpy).
The bridge between puck.js and ROS is a very trivial webpage (source) that connects to the puck.js, and starts an interval to send over the knob's value (an analog pin read) (and also the capsense value, that I didn't use so far). That same page publishes the value to ROS topics via websockets as well.
All and all, it's extremely simple, but it uses a bunch of very unrelated technologies. ;)