LEDColors/ajax/ajax_setpattern.php
2023-08-29 12:25:33 -04:00

93 lines
3.1 KiB
PHP

<?php
require '../header.php';
if ( !isset($_REQUEST['pattern']) ) exit();
$pattern = $_REQUEST['pattern'];
$command = 0x02;
$target = $_SESSION['LEDTARGETID'];
$unique = mt_rand(1, 2000000000);
$data = pack("LLLCL", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target);
$goodPattern = false;
if ( $pattern == "crazy" ) {
// The first pack here sets the milliseconds duration for ramping between colors followed by the number of colors
$data .= pack("LC", 50, 1);
// Now we stack on the colors. R, G, B values from 0.0 to 1.0 and the final parameter being how long to rest on this color
$data .= pack("CCCL", 0, 0, 0, 0);
$goodPattern = true;
} elseif ( $pattern == "rgb" ) {
$data .= pack("LC", 1000, 3);
$data .= pack("CCCL", 255, 0, 0, 2000);
$data .= pack("CCCL", 0, 255, 0, 2000);
$data .= pack("CCCL", 0, 0, 255, 2000);
//$data .= pack("CCCL", 127, 127, 127, 1000);
//$data .= pack("CCCL", 0, 0, 0, 1000);
$goodPattern = true;
} elseif ( $pattern == "crazymellow" ) {
$data .= pack("LC", 8000, 1);
$data .= pack("CCCL", 0, 0, 0, 0);
$goodPattern = true;
} elseif ( $pattern == "mexico" ) {
$data .= pack("LC", 2000, 3);
$data .= pack("CCCL", 98, 236, 114, 2000);
$data .= pack("CCCL", 185, 185, 185, 2000);
$data .= pack("CCCL", 206, 17, 38, 2000);
$goodPattern = true;
} elseif ( $pattern == "wsu" ) {
$data .= pack("LC", 4000, 2);
$data .= pack("CCCL", 4, 210, 10, 2000);
$data .= pack("CCCL", 255, 255, 0, 2000);
$goodPattern = true;
} elseif ( $pattern == "cauldron" ) {
$data .= pack("LC", 4000, 2);
$data .= pack("CCCL", 0, 255, 0, 0);
$data .= pack("CCCL", 0, 80, 0, 0);
$goodPattern = true;
} elseif ( $pattern == "christmas" ) {
$data .= pack("LC", 10000, 2);
$data .= pack("CCCL", 255, 0, 0, 5000);
$data .= pack("CCCL", 0, 255, 0, 5000);
$goodPattern = true;
} elseif ( $pattern == "julyfourth" ) {
$data .= pack("LC", 1000, 3);
$data .= pack("CCCL", 255, 0, 0, 2000);
$data .= pack("CCCL", 127, 127, 127, 2000);
$data .= pack("CCCL", 0, 0, 255, 2000);
$goodPattern = true;
} elseif ( $pattern == "easter" ) {
$data .= pack("LC", 1000, 3);
$data .= pack("CCCL", 255, 3, 192, 2000);
$data .= pack("CCCL", 8, 255, 247, 2000);
$data .= pack("CCCL", 255, 252, 5, 2000);
$goodPattern = true;
} elseif ( $pattern == "halloween" ) {
$data .= pack("LC", 1000, 2);
$data .= pack("CCCL", 255, 89, 0, 2000);
$data .= pack("CCCL", 0xc8, 0, 255, 2000);
$goodPattern = true;
} elseif ( $pattern == "thanksgiving" ) {
$data .= pack("LC", 1000, 2);
$data .= pack("CCCL", 0x4d, 0x1e, 0, 2000);
$data .= pack("CCCL", 0xcf, 0x53, 0, 2000);
$goodPattern = true;
} elseif ( $pattern == "mellow" ) {
$data .= pack("LC", 10000, 5);
$data .= pack("CCCL", 0x00, 0x8f, 0x0d, 0);
$data .= pack("CCCL", 0x8b, 0x00, 0x08, 0);
$data .= pack("CCCL", 0x06, 0x01, 0x8f, 0);
$data .= pack("CCCL", 0x8f, 0x02, 0x54, 0);
$data .= pack("CCCL", 0x3e, 0x8f, 0x8c, 0);
$goodPattern = true;
} elseif ( $pattern == "test" ) {
$goodPattern = true;
$data .= pack("LC", 1000, 2);
}
if ( $goodPattern ) transmitMessage($data);
exit();