GithubHelp home page GithubHelp logo

Comments (10)

stale avatar stale commented on June 11, 2024

This issue or pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

There's a display driver for the SSD1306 chip.

from lv_port_esp32.

X-Ryl669 avatar X-Ryl669 commented on June 11, 2024

Any plan for SSD1327 ?

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

@X-Ryl669 Not at the moment, I don't have any display with that driver, there's support for the SSD1306, if it's similar we can get SSD1327 working.

Do you have any display with that driver?

from lv_port_esp32.

X-Ryl669 avatar X-Ryl669 commented on June 11, 2024

Yes, it's very similar. It's 128x128, 4 bits per pixel (instead of just 128x64 and 1 bit/per pixel for SSD1306), but it's the same I2C address, almost the same command words. The initialization is different through:
Instead of:

static const PROGMEM uint8_t s_SSD1306_lcd128x32_initData[] =
{
    0xAE, 0x00,          // display off
    0xD5, 0x01, 0x80,    // Clock div
    0xA8, 0x01, 31,      // Set multiplex
    0xD3, 0x01, 0x00,    // --no offset
    0x40, 0x00,          // Set display offset
    0x8D, 0x01, 0x14,    // Set charge pump
    0xA0| 0x01, 0x00,    // Reverse mapping
    0xC8, 0x00,          // Decrement
    0xDA, 0x01, 0x02,    // Set com pins
    0x81, 0x01, 0x7F,    // contast value
    0xD9, 0x01, 0x22,    // 0x1F Precharge
    0xDB, 0x01, 0x40,    // Precharge
    0x20, 0x01, 0x00,    // Set horizontal addressing mode
    0xA4, 0x00,          // Display resume
    0xA6, 0x00,          // Normal display
    0xAF, 0x00,          // Display on
};

you should have:

static const PROGMEM uint8_t s_SSD1327_lcd128x128_initData[] =
{
    0xFD, 0x01, 0x12,  // Unlock OLED
    0xAE, 0x00,        // OFF                         /* display off */
    0xA8, 0x01, 0x7F,  // multiplex 128
    0xA1, 0x01, 0x00,  // Start line
    0xA2, 0x01, 0x00,  // Display offset
    0xA0, 0x01, 0x40 | 0x10 | 0x00 | (0x02 | 0x01),   // REMAP: horizontal increment mode
    0xAB, 0x01, 0x01,  // VDD internal
    0x81, 0x01, 0x70,  // CONTRAST
    0xB1, 0x01, 0x55,  // PHASE 0x51
    0xB3, 0x01, 0x01,  // CLK
    0xBC, 0x01, 0x08,  // PRECHARGE
    0xBE, 0x01, 0x07,  // VCOMH voltage
    0xB6, 0x01, 0x01,  // Second pre-charge
    0xA4, 0x00,        // NORMAL
    0x2E, 0x00,        // Deactivate scroll
    0xAF, 0x00,        // Display ON
};

Starting a block is done this way:

    this->send(0x15);
    this->send(x / 2);
    this->send( (rx < width) ? rx : (width - 1)) / 2 );
    this->send(0x75);
    this->send(y);
    this->send(height - 1);
    this->send(0x40);

instead of

    this->send(0x21); // column addr
    this->send(x);
    this->send(w ? (x + w - 1) : (width - 1));
    this->send(0x22); // page addr
    this->send(y);
    this->send((height >> 3) - 1);
    this->send(0x40);

I'm using ESP32 here with I2C mode, with this module

PS: Byte sequence shamelessly copied from here & tested them, they works.

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

I can try to add support for it but I would like you to run the tests, can you?.

from lv_port_esp32.

X-Ryl669 avatar X-Ryl669 commented on June 11, 2024

Sure, no problem.

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

Great, I will push a new branch tomorrow, got some other stuff to do today.

from lv_port_esp32.

maizezoidberg avatar maizezoidberg commented on June 11, 2024

Hello guys! Have any news about SSD1327? I have display (128x128) with this controller and I can help with testing driver support

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

Hi @maizezoidberg I have not, could you please open a new issue to track the progress on it?

from lv_port_esp32.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.