summaryrefslogtreecommitdiff
path: root/output.py
diff options
context:
space:
mode:
Diffstat (limited to 'output.py')
-rw-r--r--output.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/output.py b/output.py
new file mode 100644
index 0000000..b1e88e1
--- /dev/null
+++ b/output.py
@@ -0,0 +1,27 @@
+"""DMX module.
+
+Defines a generic interface for a DMX interface.
+"""
+
+from abc import ABC, abstractmethod
+
+class LightingOutput(ABC):
+ """Generic lighting interface."""
+
+ ## Set this to how long it takes to transmit one set of values. May be ignored by client
+ ## code
+ trans_time = 1
+
+
+ @abstractmethod
+ def set_values(self, values):
+ """Set the current DMX values.
+
+ values must be an iterable of the form:
+
+ (channel, value), ...
+
+ channel entries may not be repeated and each channel will be an instance of
+ workspace.Channel. value must be between 0 and 255, inclusive.
+ """
+ return