LEDColors/setcolor_cli.php
2025-02-23 15:56:18 -05:00

43 lines
993 B
PHP
Executable File

#!/usr/bin/php
<?php
require 'header.php';
if ( php_sapi_name() != "cli" ) {
echo "This is a command line only utility.\n";
exit();
}
if ( $argc != 3 ) {
echo "Usage: setcolor_cli.php <6 digit hex color> <target ids separated by commas>\n\n";
exit();
}
$hex = $argv[1];
if ( !ctype_xdigit($hex) || (strlen($hex) != 6) ) {
echo "Invalid six character hex color patter in ARG[1]\n";
exit();
}
$targets = explode(",", $argv[2]);
foreach ( $targets as $target ) {
if ( !is_numeric($target) ) {
echo "Invalid targetd id: {$target}\n";
exit();
}
}
$command = 0x01;
$unique = mt_rand(1, 2000000000);
$red = hexdec(substr($hex, 0, 2));
$green = hexdec(substr($hex, 2, 2));
$blue = hexdec(substr($hex, 4, 2));
foreach ( $targets as $target ) {
$target = intval($target);
$unique = mt_rand(1, 2000000000);
$data = pack("LLLCLLCCC", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target, 1, $red, $green, $blue);
transmitMessage($data);
}
?>