id = $labels; $this->params = null; } /** * Get custom property * * @param $name * @return mixed */ public function __get($name) { return $this->{$name}; } /** * Add custom property * * @param $name * @param $value */ public function __set($name, $value) { $this->{$name} = $value; } public function setLeds(int $pattern, int $repeat, int $iter_time, int $iterations, int $color) { $this->operation = self::$Q_BLINK_ON; list( $this->params['pattern'], $this->params['repeat'], $this->params['iter_time'], $this->params['iterations'], $this->params['color'] ) = func_get_args(); } public function saveProducts(string $description, array $dataFields) { $this->operation = self::$Q_SAVEPRODUCT; $this->description = $description; $this->params['dataFields'] = $dataFields; } public function setToBlinkOff() { $this->operation = self::$Q_BLINK_OFF; } /** * Calculate blink duration in seconds for patterns_type=2 * * @return int */ public function getBlinkDuration(): int { return ((($this->params['iter_time'] / 1000) * ($this->params['iterations'])) * $this->params['repeat']); } /** * Set Display ID * * @param string $templateId * @param string $barcode */ public function setDisplay(string $templateId, string $barcode) { $this->operation = self::$Q_DISPLAY; list( $this->params['templateId'], $this->params['barcode'] ) = func_get_args(); } public function getJobs() { $this->operation = self::$Q_GETJOBS; } public function clearQueue() { $this->operation = self::$Q_CLEARQUEUE; } }