summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2d14233)
raw | patch | inline | side by side (parent: 2d14233)
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | |
Wed, 25 May 2016 11:41:38 +0000 (14:41 +0300) | ||
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | |
Wed, 25 May 2016 11:48:35 +0000 (14:48 +0300) |
py/gamma.py | [new file with mode: 0644] | patch | blob |
py/helpers.py | patch | blob | history |
diff --git a/py/gamma.py b/py/gamma.py
--- /dev/null
+++ b/py/gamma.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python3
+
+import pykms
+from helpers import *
+
+# This hack makes drm initialize the fbcon, setting up the default connector
+card = pykms.Card()
+card = 0
+
+card = pykms.Card()
+
+conn = card.get_first_connected_connector()
+mode = conn.get_default_mode()
+crtc = conn.get_current_crtc()
+
+arr = bytearray(256*2*4)
+view = memoryview(arr).cast("H")
+
+for i in range(256):
+ g = round(255 * pow(i / 255.0, 1 / 2.2))
+
+ view[i * 4 + 0] = g << 8
+ view[i * 4 + 1] = g << 8
+ view[i * 4 + 2] = g << 8
+ view[i * 4 + 3] = 0
+
+gamma = pykms.Blob(card, arr);
+
+set_props(crtc, {
+ "GAMMA_LUT": gamma.id,
+})
+
+input("press enter to remove gamma\n")
+
+set_props(crtc, {
+ "GAMMA_LUT": 0,
+})
+
+input("press enter to exit\n")
diff --git a/py/helpers.py b/py/helpers.py
index c5235238d26df4d8d215aeb78c4526fb279eb2f9..456efcd83343fb8c420c5fb2e71c3bd80570071c 100644 (file)
--- a/py/helpers.py
+++ b/py/helpers.py
print("%-15s %d (%#x)" % (prop.name, propval, propval))
def set_props(ob, map):
- areq = pykms.AtomicReq(ob.card)
-
- for key, value in map.items():
- areq.add(ob, key, value)
-
- if areq.commit_sync() != 0:
- print("commit failed")
+ if ob.card.has_atomic:
+ areq = pykms.AtomicReq(ob.card)
+
+ for key, value in map.items():
+ areq.add(ob, key, value)
+
+ if areq.commit_sync() != 0:
+ print("commit failed")
+ else:
+ for propid,propval in map.items():
+ if ob.set_prop_value(propid, propval) != 0:
+ print("setting property failed")
red = pykms.RGB(255, 0, 0)
green = pykms.RGB(0, 255, 0)