geeekpi / pico_breadboard_kit

Full Demo Code for Pico Breakboard Kit with 3.5" TFT Cap Touch
22 stars 6 forks source link

Undocumented `ST7786U` commands #3

Open rubienr opened 2 months ago

rubienr commented 2 months ago

The ST7796U initialization in lv_port_disp.c involves commands that are not documented in the ST7796U Datasheet (Version V1.0 2020/02).

Please remove undocumented commands or add comments.

Example:

    lcd_init_cmd_t init_cmds[] = {
      // {0xCF, {0x00, 0x83, 0X30}, 3},    // ?
      {0xED, {0x64, 0x03, 0X12, 0X81}, 4}, // DOCA: display output ctrl adjust
      {0xE8, {0x85, 0x01, 0x79}, 3},       // DOCA: display output ctrl adjust
      // {0xCB, {0x39, 0x2C, 0x00, 0x34, 0x02}, 5}, // ?
      // {0xF7, {0x20}, 1},                // ?
      {0xEA, {0x00, 0x00}, 2},             // DOCA: display output ctrl adjust
      {0xC0, {0x26}, 1},                   // PWR1: power control 1
      {0xC1, {0x11}, 1},                   // PWR1: power control 1
      {0xC5, {0x35, 0x3E}, 2},             // VCMPCTL: vcom control
      {0xC7, {0xBE}, 1},                   // VCM Offset: vcom offset register
      {0x36, {0x28}, 1},                   // MADCTL: memory data access control
      {0x3A, {0x05}, 1},                   // COLMOD: Interface pixel format
      // {0xB1, {0x00, 0x1B}, 2},          // FRMCTR1: frame rate control
      {0xB1, {0x00, 0x00}, 2},             // FRMCTR1: frame rate control
      // {0xF2, {0x08}, 1},                // ?
      // {0x26, {0x01}, 1},                // ?
      {0xE0, {0x1F, 0x1A, 0x18, 0x0A, 0x0F, 0x06, 0x45, 0X87, 0x32, 0x0A, 0x07, 0x02, 0x07, 0x05, 0x00}, 15}, // PGC: positive gamma control
      {0XE1, {0x00, 0x25, 0x27, 0x05, 0x10, 0x09, 0x3A, 0x78, 0x4D, 0x05, 0x18, 0x0D, 0x38, 0x3A, 0x1F}, 15}, // NGC: negative gamma control
      {0x2A, {0x00, 0x00, 0x00, 0xEF}, 4}, // CASET: column address set
      {0x2B, {0x00, 0x00, 0x01, 0x3f}, 4}, // RASET: row address set
      {0x2C, {0}, 0},                      // RAMWR: memory write
      {0xB7, {0x07}, 1},                   // EM: entry mode wet
      {0xB6, {0x0A, 0x82, 0x27, 0x00}, 4}, // DFC: display function control
      {0x11, {0}, 0x80},                   // SLP: sleep out
      {0x29, {0}, 0x80},                   // DISPON: display on
      {0, {0}, 0xff},                      // NOP: no operation
    };
matsobdev commented 3 weeks ago

Shouldn't gamma have just 14 bytes for an argument?