@@ -256,7 +256,7 @@ def _set_memory_location(self, x1, y1, x2, y2): # NOQA
256256return - 1
257257
258258def init (self ):
259- self ._spi_3wire .init (16 ,8 )
259+ self ._spi_3wire .init (8 ,8 )
260260self ._init ()
261261if self ._bus_shared_pins :
262262# shut down the spi3wire prior to initilizing the data bus.
@@ -419,37 +419,6 @@ def _init(self):
419419self .set_params (_SWRESET )
420420time .sleep_ms (5 )# NOQA
421421
422- color_size = lv .color_format_get_size (self ._color_space )
423- if color_size == 2 :# NOQA
424- pixel_format = 0x50
425- elif color_size == 3 :
426- pixel_format = 0x70
427- else :
428- raise RuntimeError (
429- 'ST7701 IC only supports '
430- 'lv.COLOR_FORMAT.RGB565 or lv.COLOR_FORMAT.RGB888'
431- )
432-
433- param_buf [0 ]= pixel_format
434- self .set_params (_COLMOD ,param_mv [:1 ])
435-
436- time .sleep_ms (10 )# NOQA
437-
438- param_buf [0 ]= (
439- self ._madctl (
440- self ._color_byte_order ,
441- self ._ORIENTATION_TABLE # NOQA
442- )
443- )
444- self .set_params (_MADCTL ,param_mv [:1 ])
445-
446- # Command2_BK3
447- param_buf [:5 ]= bytearray ([0x77 ,0x01 ,0x00 ,0x00 ,_Command2_BK3 ])
448- self .set_params (_CND2BKxSEL ,param_mv [:5 ])
449-
450- param_buf [0 ]= 0x08
451- self .set_params (0xEF ,param_mv [:1 ])
452-
453422# Command2_BK0
454423param_buf [:5 ]= bytearray ([0x77 ,0x01 ,0x00 ,0x00 ,_Command2_BK0 ])
455424self .set_params (_CND2BKxSEL ,param_mv [:5 ])
@@ -458,53 +427,55 @@ def _init(self):
458427param_buf [1 ]= 0x00
459428self .set_params (_LNESET ,param_mv [:2 ])
460429
461- param_buf [0 ]= 0x0B
430+ param_buf [0 ]= 0x0D
462431param_buf [1 ]= 0x02
463432self .set_params (_PORCTRL ,param_mv [:2 ])
464433
465- param_buf [0 ]= 0x00
466- param_buf [1 ]= 0x02
434+ param_buf [0 ]= 0x21
435+ param_buf [1 ]= 0x08
467436self .set_params (_INVSET ,param_mv [:2 ])
468437
469- param_buf [0 ]= 0x10
470- self .set_params (_PROMACT ,param_mv [:1 ])
471-
472- param_buf [0 ]= 0x08
473- self .set_params (_COLCTRL ,param_mv [:1 ])
474-
475438param_buf [:16 ]= bytearray ([
476- 0x00 ,0x13 ,0x5A ,0x0F ,0x12 ,0x07 ,0x09 ,0x08 ,
477- 0x08 ,0x24 ,0x07 ,0x13 ,0x12 ,0x6B ,0x73 ,0xFF ])
439+ 0x00 ,0x11 ,0x18 ,0x0E ,0x11 ,0x06 ,0x07 ,0x08 ,
440+ 0x07 ,0x22 ,0x04 ,0x12 ,0x0F ,0xAA ,0x31 ,0x18
441+ ])
478442self .set_params (_PVGAMCTRL ,param_mv )
479443
480444param_buf [:16 ]= bytearray ([
481- 0x00 ,0x13 ,0x5A ,0x0F ,0x12 ,0x07 ,0x09 ,0x08 ,
482- 0x08 ,0x24 ,0x07 ,0x13 ,0x12 ,0x6B ,0x73 ,0xFF ])
445+ 0x00 ,0x11 ,0x19 ,0x0E ,0x12 ,0x07 ,0x08 ,0x08 ,
446+ 0x08 ,0x22 ,0x04 ,0x11 ,0x11 ,0xA9 ,0x32 ,0x18
447+ ])
483448self .set_params (_NVGAMCTRL ,param_mv )
484449
450+ # param_buf[0] = 0x10
451+ # self.set_params(_PROMACT, param_mv[:1])
452+ #
453+ # param_buf[0] = 0x08
454+ # self.set_params(_COLCTRL, param_mv[:1])
455+
485456# Command2_BK1
486457param_buf [:5 ]= bytearray ([0x77 ,0x01 ,0x00 ,0x00 ,_Command2_BK1 ])
487458self .set_params (_CND2BKxSEL ,param_mv [:5 ])
488459
489- param_buf [0 ]= 0x5D
460+ param_buf [0 ]= 0x60
490461self .set_params (_VRHS ,param_mv [:1 ])
491462
492- param_buf [0 ]= 0x43
463+ param_buf [0 ]= 0x30
493464self .set_params (_VCOMS ,param_mv [:1 ])
494465
495- param_buf [0 ]= 0x81
466+ param_buf [0 ]= 0x87
496467self .set_params (_VGHSS ,param_mv [:1 ])
497468
498469param_buf [0 ]= 0x80
499470self .set_params (_TESTCMD ,param_mv [:1 ])
500471
501- param_buf [0 ]= 0x43
472+ param_buf [0 ]= 0x49
502473self .set_params (_VGLS ,param_mv [:1 ])
503474
504475param_buf [0 ]= 0x85
505476self .set_params (_PWCTRL1 ,param_mv [:1 ])
506477
507- param_buf [0 ]= 0x20
478+ param_buf [0 ]= 0x21
508479self .set_params (_PWCTRL2 ,param_mv [:1 ])
509480
510481param_buf [0 ]= 0x78
@@ -513,61 +484,94 @@ def _init(self):
513484param_buf [0 ]= 0x78
514485self .set_params (_PDR2 ,param_mv [:1 ])
515486
516- param_buf [0 ]= 0x88
487+ param_buf [0 ]= 0x83
517488self .set_params (_MIPISET1 ,param_mv [:1 ])
518489time .sleep_ms (100 )# NOQA
519490
520- param_buf [:3 ]= bytearray ([0x00 ,0x00 ,0x02 ])
491+ param_buf [:3 ]= bytearray ([0x00 ,0x1B ,0x02 ])
521492self .set_params (_SRCTRL ,param_mv [:3 ])
522493
523494param_buf [:11 ]= bytearray ([
524- 0x03 ,0xA0 ,0x00 ,0x00 ,0x04 ,0xA0 ,
525- 0x00 ,0x00 ,0x00 ,0x20 , 0x20 ])
495+ 0x08 ,0xA0 ,0x00 ,0x00 ,0x07 ,0xA0 ,
496+ 0x00 ,0x00 ,0x00 ,0x44 , 0x44 ])
526497self .set_params (_NRCTRL ,param_mv [:11 ])
527498
528499param_buf [:13 ]= bytearray ([
529- 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
530- 0x00 ,0x00 ,0x00 , 0x00 ,0x00 ,0x00 ])
500+ 0xE2 , 0x11 , 0x11 , 0x44 , 0x44 , 0xED , 0xA0 ,
501+ 0x00 ,0x00 ,0xEC , 0xA0 ,0x00 ,0x00 ])
531502self .set_params (_SECTRL ,param_mv [:13 ])
532503
533- param_buf [:4 ]= bytearray ([0x00 ,0x00 ,0x11 ,0x00 ])
504+ param_buf [:4 ]= bytearray ([0x00 ,0x00 ,0x11 ,0x11 ])
534505self .set_params (_CCCTRL ,param_mv [:4 ])
535506
536- param_buf [0 ]= 0x22
537- param_buf [1 ]= 0x00
507+ param_buf [0 ]= 0x44
508+ param_buf [1 ]= 0x44
538509self .set_params (_SKCTRL ,param_mv [:2 ])
539510
540511param_buf [:16 ]= bytearray ([
541- 0x05 , 0xEC , 0xA0 ,0xA0 ,0x07 , 0xEE , 0xA0 ,0xA0 ,
542- 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ])
512+ 0x0A , 0xE9 , 0xD8 ,0xA0 ,0x0C , 0xEB , 0xD8 ,0xA0 ,
513+ 0x0E , 0xED , 0xD8 , 0xA0 , 0x10 , 0xEF , 0xD8 , 0xA0 ])
543514self .set_params (0xE5 ,param_mv )
544515
545- param_buf [:4 ]= bytearray ([0x00 ,0x00 ,0x11 ,0x00 ])
516+ param_buf [:4 ]= bytearray ([0x00 ,0x00 ,0x11 ,0x11 ])
546517self .set_params (0xE6 ,param_mv [:4 ])
547518
548- param_buf [0 ]= 0x22
549- param_buf [1 ]= 0x00
519+ param_buf [0 ]= 0x44
520+ param_buf [1 ]= 0x44
550521self .set_params (0xE7 ,param_mv [:2 ])
551522
552523param_buf [:16 ]= bytearray ([
553- 0x06 , 0xED , 0xA0 ,0xA0 ,0x08 , 0xEF , 0xA0 ,0xA0 ,
554- 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ])
524+ 0x09 , 0xE8 , 0xD8 ,0xA0 ,0x0B , 0xEA , 0xD8 ,0xA0 ,
525+ 0x0D , 0xEC , 0xD8 , 0xA0 , 0x0F , 0xEE , 0xD8 , 0xA0 ])
555526self .set_params (0xE8 ,param_mv )
556527
557- param_buf [:7 ]= bytearray ([0x00 ,0x00 ,0x40 , 0x40 , 0x00 ,0x00 ,0x00 ])
528+ param_buf [:7 ]= bytearray ([0x02 ,0x00 ,0xE4 , 0xE4 , 0x88 ,0x00 ,0x40 ])
558529self .set_params (0xEB ,param_mv [:7 ])
559530
531+ param_buf [:2 ]= bytearray ([0x3C ,0x00 ])
532+ self .set_params (0xEC ,param_mv [:7 ])
533+
560534param_buf [:16 ]= bytearray ([
561- 0xFF , 0xFF , 0xFF , 0xBA , 0x0A , 0xBF , 0x45 ,0xFF ,
562- 0xFF ,0x54 , 0xFB , 0xA0 , 0xAB , 0xFF , 0xFF , 0xFF ])
535+ 0xAB , 0x89 , 0x76 , 0x54 , 0x02 , 0xFF , 0xFF ,0xFF ,
536+ 0xFF ,0xFF , 0xFF , 0x20 , 0x45 , 0x67 , 0x98 , 0xBA ])
563537self .set_params (0xED ,param_mv )
564538
565539param_buf [:6 ]= bytearray ([0x10 ,0x0D ,0x04 ,0x08 ,0x3F ,0x1F ])
566540self .set_params (0xEF ,param_mv [:6 ])
567541
542+ param_buf [:5 ]= bytearray ([0x77 ,0x01 ,0x00 ,0x00 ,_Command2_BK3 ])
543+ self .set_params (_CND2BKxSEL ,param_mv [:5 ])
544+
545+ param_buf [0 ]= 0x08
546+ self .set_params (0xEF ,param_mv [:1 ])
547+
568548# Command2 OFF
569549param_buf [:5 ]= bytearray ([0x77 ,0x01 ,0x00 ,0x00 ,_Command1 ])
570550self .set_params (_CND2BKxSEL ,param_mv [:5 ])
571551
572552self .set_params (_DISPON )
573553time .sleep_ms (10 )# NOQA
554+
555+ color_size = lv .color_format_get_size (self ._color_space )
556+ if color_size == 2 :# NOQA
557+ pixel_format = 0x55
558+ elif color_size == 3 :
559+ pixel_format = 0x77
560+ else :
561+ raise RuntimeError (
562+ 'ST7701 IC only supports '
563+ 'lv.COLOR_FORMAT.RGB565 or lv.COLOR_FORMAT.RGB888'
564+ )
565+
566+ param_buf [0 ]= pixel_format
567+ self .set_params (_COLMOD ,param_mv [:1 ])
568+
569+ time .sleep_ms (10 )# NOQA
570+
571+ param_buf [0 ]= (
572+ self ._madctl (
573+ self ._color_byte_order ,
574+ self ._ORIENTATION_TABLE # NOQA
575+ )
576+ )
577+ self .set_params (_MADCTL ,param_mv [:1 ])