You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
vitrinekast a9bf7cadf9 set distance 10 months ago
public init server 10 months ago
.gitignore init server 10 months ago
app.js set distance 10 months ago
hpgl.js change coords 10 months ago
package-lock.json added tmi to package.json 10 months ago
package.json added tmi to package.json 10 months ago
readme.md Add headers and code snippets to readme 10 months ago

readme.md

Twitch Plays Plotter

A javascript based project with which you can control a pen plotter through the chat of a Twitch livestream.

Setup

The channel you connect to is specified with the following lines. No authentication is needed, if you're only reading from the chat.

const client = new tmi.Client({
    channels: ['twitchplaysplotter']
});

The communicative channel with the plotter might depend on your specific plotter and the port it is connected to. This is specified with the following lines:

const port = new SerialPort({
    path: '/dev/ttyUSB0',
    baudRate: 9600,
})

Supported commands

The tale of the untested bit of javascript:

the commands are right now

  • lb and anything you type after will be plotted as Text
  • init
  • pu
  • pd
  • up (move up by {distance})
  • down (move down by {distance})
  • right (move right by {distance})
  • left (move left by {distance})
  • rectangle (draw a rectangle with the size of {distance})
  • circle (draw a rectangle with the size of {distance})
  • set the value for distance

Also, there is the start of some state tracking and clamping to prevent the plotter from getting stuck. But again, untested.