Update webserial default code

This commit is contained in:
Kai Vogelgesang 2023-06-23 15:50:43 +02:00
parent 4cb1f6ea4d
commit 90db3e61f5
Signed by: kai
GPG Key ID: 3FC8578CC818A9EB

View File

@ -98,51 +98,69 @@ class MovingHead extends Fixture implements GenericRGBW {
} }
} }
class Flower extends Fixture implements GenericRGBW { // class Flower extends Fixture implements GenericRGBW {
//
setBrightness(value: number, strobe?: boolean): void { // setBrightness(value: number, strobe?: boolean): void {
// dimmer seems unsupported :( // // dimmer seems unsupported :(
this.setChannel(7, (strobe || false) ? 255 * value : 0); // this.setChannel(7, (strobe || false) ? 255 * value : 0);
} // }
//
setRGBW(rgb: [number, number, number], w?: number): void { // setRGBW(rgb: [number, number, number], w?: number): void {
const [r, g, b] = rgb; // const [r, g, b] = rgb;
this.setChannel(1, r); // this.setChannel(1, r);
this.setChannel(2, g); // this.setChannel(2, g);
this.setChannel(3, b); // this.setChannel(3, b);
this.setChannel(4, w || 0); // this.setChannel(4, w || 0);
} // }
//
setAP(a: number, p: number) { // setAP(a: number, p: number) {
this.setChannel(5, a); // this.setChannel(5, a);
this.setChannel(6, p); // this.setChannel(6, p);
} // }
//
/** // /**
* Set the rotation speed // * Set the rotation speed
* @param speed Between -1 (clockwise) and 1 (counterclockwise) // * @param speed Between -1 (clockwise) and 1 (counterclockwise)
*/ // */
setRotation(direction: number) { // setRotation(direction: number) {
const val = (direction < 0) // const val = (direction < 0)
? /* clockwise */ lib.remap(direction, [0, -1], [0, 128], true) // ? /* clockwise */ lib.remap(direction, [0, -1], [0, 128], true)
: /* counterclockwise */ lib.remap(direction, [0, 1], [129, 255], true); // : /* counterclockwise */ lib.remap(direction, [0, 1], [129, 255], true);
//
this.setChannel(8, val); // this.setChannel(8, val);
} // }
//
setMacro(pattern: number, speed: number) { // setMacro(pattern: number, speed: number) {
this.setChannel(9, pattern); // this.setChannel(9, pattern);
this.setChannel(10, speed); // this.setChannel(10, speed);
} // }
//
} // }
// ****************** // ******************
// * CODE GOES HERE * // * CODE GOES HERE *
// ****************** // ******************
let color = lib.hsl2rgb(360 * t, 100, 50); let color = lib.hsl2rgb(360 * (t / 7), 100, 50);
let par = new Par(1); const pars = [
new Par(1),
new Par(41),
];
const heads = [
new MovingHead(120),
new MovingHead(140),
new MovingHead(160),
new MovingHead(100),
];
for (let par of pars) {
par.setBrightness(1); par.setBrightness(1);
par.setRGBW(color); par.setRGBW(color);
}
for (let head of heads) {
head.setBrightness(1);
head.setRGBW(color);
}