kraus 7 lat temu
rodzic
commit
af4e2a9674
4 zmienionych plików z 17 dodań i 7 usunięć
  1. 1 1
      README.md
  2. 1 1
      library.properties
  3. 2 2
      src/clib/u8g2_cleardisplay.c
  4. 13 3
      src/clib/u8x8_d_ks0108.c

+ 1 - 1
README.md

@@ -8,5 +8,5 @@ Description: https://github.com/olikraus/u8g2/wiki
 
 Issue Tracker: https://github.com/olikraus/u8g2/issues
 
-Download (2.23.6): https://github.com/olikraus/U8g2_Arduino/archive/master.zip
+Download (2.23.7): https://github.com/olikraus/U8g2_Arduino/archive/master.zip
 

+ 1 - 1
library.properties

@@ -1,5 +1,5 @@
 name=U8g2
-version=2.23.6
+version=2.23.7
 author=oliver <olikraus@gmail.com>
 maintainer=oliver <olikraus@gmail.com>
 sentence=Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1309, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, SH1107, SH1122, T6963, RA8835, LC7981, PCD8544, PCF8812, HX1230, UC1601, UC1604, UC1608, UC1610, UC1611, UC1701, ST7565, ST7567, ST7588, ST75256, NT7534, IST3020, ST7920, LD7032, KS0108, SED1520, SBN1661, IL3820, MAX7219. Interfaces: I2C, SPI, Parallel.

+ 2 - 2
src/clib/u8g2_cleardisplay.c

@@ -34,8 +34,8 @@
 */
 #include "u8g2.h"
 
-/* clear screen buffer & display reliable for all u8g2 displays */
-/* this is, becasue we can not used the u8x8 function in all cases */
+/* Clear screen buffer & display reliable for all u8g2 displays. */
+/* This is done with u8g2 picture loop, because we can not use the u8x8 function in all cases */
 void u8g2_ClearDisplay(u8g2_t *u8g2)
 {
   u8g2_FirstPage(u8g2);

+ 13 - 3
src/clib/u8x8_d_ks0108.c

@@ -306,10 +306,20 @@ uint8_t u8x8_d_ks0108_erm19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void
       v.c = ((u8x8_tile_t *)arg_ptr)->cnt;
       v.arg_int = arg_int;    
       
-      
+/*
+    3-bit CS value:
+    In u8x8_byte_set_ks0108_cs(u8x8_t *u8x8, uint8_t arg) the lowest
+    bit is assigned to CS and highest bit if the 3-bit value to CS2
+    
+    CS: left part of the display  --> 6
+    CS1: middle part --> 5
+    CS2: right part of the display --> 3
+
+    Reference: https://github.com/olikraus/u8g2/issues/631
+*/
       if ( v.x < 8 )
       {
-	u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 3, NULL);
+	u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 6, NULL);  // 3-->6, issue 631
 	u8x8_ks0108_out(u8x8, &v, arg_ptr);
 	u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);
       }
@@ -321,7 +331,7 @@ uint8_t u8x8_d_ks0108_erm19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void
       }
       if ( v.x < 24 )
       {
-	u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 6, NULL);
+	u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 3, NULL); // 6-->3, // issue 631
 	u8x8_ks0108_out(u8x8, &v, arg_ptr);
 	u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);
       }