No announcement yet.

ST7775R driver

  • Filter
  • Time
  • Show
Clear All
new posts

  • ST7775R driver


    Do you have an example code for the driver ST7775R for using with Designer?

    I have the code for ST7735R, do you know if the drivers are too different?


  • #2
    The ST7735R is a 'low level' driver chip used on smaller displays, you don't need to know anything about this or any other driver to code in Designer, all that is taken care of for you in the PmmC.



    • #3
      So, If I have this ST7775R C++ code:
      void Display::begin()
      writeWr(0x01, 0x011C);//Driver Output Control
      writeWr(0x02, 0x0100);//LCD Driving Control
      writeWr(0x03, 0x1030);//Entry Mode
      writeWr(0x08, 0x0808);//Display Control 2
      writeWr(0x0C, 0x0000);//RGB Display Interface Control 1
      writeWr(0x0F, 0x0E01);//Frame Market Position

      writeWr(0x10, 0x0A00);//Power Control 1
      writeWr(0x11, 0x1038);//Power Control 2
      writeWr(0xFF, 0x0003);//NVM Commamd Enable
      writeWr(0xB0, 0x1411);//Power Control 3
      writeWr(0xB1, 0x0202);//Power Control 4
      writeWr(0xB2, 0x0313);//Power Control 5

      writeWr(0x30, 0x0000);//Gate Scan Control
      writeWr(0x31, 0x00db);//Vertical Scroll Control 1
      writeWr(0x32, 0x0000);//Vertical Scroll Control 2
      writeWr(0x33, 0x0000);//Vertical Scroll Control 3
      writeWr(0x34, 0x00db);//Partial Driving Control 1
      writeWr(0x35, 0x0000);//Partial Driving Control 2
      writeWr(0x36, 0x00AF);//Horizontal Address End Position
      writeWr(0x37, 0x0000);//Horizontal Address Start Position
      writeWr(0x38, 0x00DB);//Vertical Address End Position
      writeWr(0x39, 0x0000);//Vertical Address Start Position

      writeWr(0xFF, 0x0003);//NVM Commamd Enable
      writeWr(0x50, 0x0000);//Gamma Control 1
      writeWr(0x51, 0x0300);//Gamma Control 2
      writeWr(0x52, 0x0103);//Gamma Control 3
      writeWr(0x53, 0x2011);//Gamma Control 4
      writeWr(0x54, 0x0703);//Gamma Control 5
      writeWr(0x55, 0x0000);//Gamma Control 6
      writeWr(0x56, 0x0400);//Gamma Control 7
      writeWr(0x57, 0x0107);//Gamma Control 8
      writeWr(0x58, 0x2011);//Gamma Control 9
      writeWr(0x59, 0x0703);//Gamma Control 10
      writeWr(0x20, 0x0000);//Horizontal DRAM Address set
      writeWr(0x21, 0x0000);//Vertical DRAM Address set
      writeWr(0x07, 0x1017);//Display Control 1

      In my Designer Code, Do I have to write some thing like this?
      //Initialization for the ST7775R
      byte INIT_tbl

      _DISPLAY_X_MAX, //width:135
      ST7775_GRAM, //write access register
      ST7775_GRAM,//read access register

      1,0x01, 0x011C,//Driver Output Control
      1,0x02, 0x0100,//LCD Driving Control

      I am really don't know if I have to write:
      1,0x01, 0x011C,//Driver Output Control
      2,0x01, 0x01,0x1C,//Driver Output Control
      2,0x01, 0x1C,0x01,//Driver Output Control


      • #4
        Since the ST7735R is inherently byte oriented you should be using something like

        2,0x01, 0x01,0x1C,//Driver Output Control

        Are you starting with the uLCD-144-G2-A-R26 PmmC? The ST7735R has quirks with its readpixel code that require that PmmC for it to work. Note also that many displays using this driver have x and/or y offsets, so check that a gfx_Rectangle(0,0,peekB(GFX_XMAX),peekB(GFX_YMAX)) is visible on all 4 sides.


        • #5

          I have to write the driver for ST7775R, not for ST7735R. More or less I have the same problem that I had previously here:

          Have I to create a new product in Workshop in order to be able to program my new circuit?
          I am writting the code for the driver ST7775R, What PmmC shall I use?
          A previous time, I had to create a new PmmC, Do I have to do the same?
          My TFT is: driver ST7775R, number of dots 134RGBx220, module area 30x50mm, MCU interface 80-8bits


          • #6
            All the problems in that thread ended up resolved, so I can't understand what you mean by "More or less I have the same problem that I had previously"

            The 'blank' PmmC is Goldelox_G2_R26, so try that as a starting point.

            It's the PmmC that's in workshop, so you should be able to use Workshop 'as is'.

            If you want to use ViSi and thus need a 'larger' screen size, then we will need to show you how to do that, but let's leave that for later