summaryrefslogtreecommitdiff
path: root/py/pykms/__init__.py
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2017-01-02 16:42:09 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2017-01-03 10:46:42 +0200
commitf1a098203be8c44a52ed5d2a72982a3f634d4df6 (patch)
treec916f481fb22a3002d56541346b15532fe46da83 /py/pykms/__init__.py
parentb11baff09f78a4a383f817ec35208ae8966ab832 (diff)
py: Move helpers to the pykms module
Instead of forcing applications to import the helpers manually, move them to pykms by turning it into a python module. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'py/pykms/__init__.py')
-rw-r--r--py/pykms/__init__.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/py/pykms/__init__.py b/py/pykms/__init__.py
new file mode 100644
index 0000000..d4cdc43
--- /dev/null
+++ b/py/pykms/__init__.py
@@ -0,0 +1,60 @@
+from .pykms import *
+
+#
+# Common RGB colours
+#
+
+red = RGB(255, 0, 0)
+green = RGB(0, 255, 0)
+blue = RGB(0, 0, 255)
+yellow = RGB(255, 255, 0)
+purple = RGB(255, 0, 255)
+white = RGB(255, 255, 255)
+cyan = RGB(0, 255, 255)
+
+#
+# DrmObject API extensions
+#
+
+def __obj_set_prop(self, prop, value):
+ if self.card.has_atomic:
+ areq = AtomicReq(self.card)
+ areq.add(self, prop, value)
+ if areq.commit_sync() != 0:
+ print("commit failed")
+ else:
+ if self.set_prop_value(prop, value) != 0:
+ print("setting property failed")
+
+def __obj_set_props(self, map):
+ if self.card.has_atomic:
+ areq = AtomicReq(self.card)
+
+ for key, value in map.items():
+ areq.add(self, key, value)
+
+ if areq.commit_sync() != 0:
+ print("commit failed")
+ else:
+ for propid,propval in map.items():
+ if self.set_prop_value(propid, propval) != 0:
+ print("setting property failed")
+
+DrmObject.set_prop = __obj_set_prop
+DrmObject.set_props = __obj_set_props
+
+#
+# Card API extensions
+#
+
+def __card_disable_planes(self):
+ areq = AtomicReq(self)
+
+ for p in self.planes:
+ areq.add(p, "FB_ID", 0)
+ areq.add(p, "CRTC_ID", 0)
+
+ if areq.commit_sync() != 0:
+ print("disabling planes failed")
+
+Card.disable_planes = __card_disable_planes