FreshRoast SR700 serial-over-USB driver.
Note that it's critical to use a modern version of node such as 6.9+, or else the npm install of the dependency 'serialport' will fail.
Packets sent from Computer -> Roaster is observed 500ms apart in the windows app. Openroast suggests they should be at precisely 250ms apart.
┌──────┐ ┌─────┐
│driver│ │SR700│
└──┬───┘ └──┬──┘
│ init │
│ ────────────────────>
│ │ .
│ recipe line 0..(n-1)│ |
│ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ \ I ignore these recipes lines and just
│ │ / start hammering the setState packets
│ recipe line n │ |
│ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ .
│ │
│ setState │
│ ────────────────────>
│ │
│ currState │
│ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ (repeat set/get ad nauseum)
┌──┴───┐ ┌──┴──┐
│driver│ │SR700│
└──────┘ └─────┘