From d840a4ad5633c1d0aff6195a38c0ae421ec57485 Mon Sep 17 00:00:00 2001 From: Martijn Braam Date: Tue, 9 Nov 2021 17:15:59 +0100 Subject: [PATCH] pyatem: support generating camera control packets --- pyatem/cameracontrol.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pyatem/cameracontrol.py b/pyatem/cameracontrol.py index f88e05b..4ccbf2d 100644 --- a/pyatem/cameracontrol.py +++ b/pyatem/cameracontrol.py @@ -2,6 +2,8 @@ import math import sys import inspect +from pyatem.command import CameraControlCommand + _cache = {} VOID = 0 @@ -21,9 +23,15 @@ class CameraControlData: DESCRIPTIONS = [""] KEYS = [""] - def __init__(self): + def __init__(self, destination=None, **kwargs): self.data = None - self.destination = None + self.destination = destination + + if len(kwargs) > 0: + self.data = [0] * len(self.DESCRIPTIONS) + for key in kwargs: + offset = self.KEYS.index(key) + self.data[offset] = kwargs[key] @classmethod def from_data(cls, data): @@ -45,6 +53,10 @@ class CameraControlData: return instance return None + def to_command(self, relative=False): + cmd = CameraControlCommand(self.destination, self.CATEGORY, self.PARAMETER, relative, self.DATATYPE, self.data) + return cmd + def decode(self): pass -- 2.34.2