changeset 2:48c60546eb7f draft

Fix the fast lut
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Thu, 05 Apr 2018 20:09:18 +0200
parents 94467ac67f68
children 985940300069
files gdew0154t8.py
diffstat 1 files changed, 27 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/gdew0154t8.py	Thu Apr 05 19:54:45 2018 +0200
+++ b/gdew0154t8.py	Thu Apr 05 20:09:18 2018 +0200
@@ -22,25 +22,25 @@
 
 _LUT_FAST = (
     b'\x00\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'\x00\x00',  # VCOM
-    b'0x00\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00',  # white to white
-    b'0x80\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00',  # black to white
-    b'0x40\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00',  # white to black
-    b'0x00\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
-    b'0x00\x00\x00\x00\x00\x00')  # black to black
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'\x00\x00',  # VCOM
+    b'\x00\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00',  # white to white
+    b'\x80\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00',  # black to white
+    b'\x40\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00',  # white to black
+    b'\x00\x19\x01\x00\x00\x01' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00' b'0x00\x00\x00\x00\x00\x00'
+    b'\x00\x00\x00\x00\x00\x00')  # black to black
 
 
 class Display:
@@ -97,13 +97,17 @@
         self._command(b'\x07\xa5')  # deep sleep
 
     def update(self, block=True, fast=False):
-        if fast and not self._fast:
-            self._lut(_LUT_FAST)
-        elif not fast and self._fast:
-            self._lut(_LUT_FULL)
         self._wait()
         self._command(b'\x13', self.buffer)  # new data
         self._command(b'\x11')  # data stop
+        if fast and not self._fast:
+            self._lut(_LUT_FAST)
+            self._command(b'\x82', b'\x08')  # VCOM value
+            self._command(b'\x50', b'\x47')  # VCOM interval
+        elif not fast and self._fast:
+            self._lut(_LUT_FULL)
+            self._command(b'\x82', b'\x28')  # VCOM value
+            self._command(b'\x50', b'\x97')  # VCOM interval
         self._command(b'\x12')  # refresh
         if block:
             self._wait()