@dmx-cloud/dmx
Version:
A NodeJS DMX realtime control library
28 lines (25 loc) • 583 B
JavaScript
import { SerialDriver } from './SerialDriver.js'
export class EntTecOpenUsbDMXDriver extends SerialDriver {
send() {
if (!this.serial.writable || !this.ready) {
return
}
this.serial.set({
brk: true,
rts: true,
}, () => {
this.serial.set({
brk: false,
rts: true,
}, () => {
if (this.ready) {
this.ready = false
this.serial.write(Buffer.from([ 0, ...this.universe.subarray(1) ]))
this.serial.drain(() => {
this.ready = true
})
}
})
})
}
}