oled: add support for SPI ssd130x displays
authorCyprien Laplace <cyprien@cypou.net>
Sat, 24 Jun 2017 20:47:22 +0000 (16:47 -0400)
committerNathael Pajani <nathael.pajani@ed3l.fr>
Tue, 8 Nov 2022 16:14:23 +0000 (17:14 +0100)
commit5b86e83be287bbe3efff8a8786c189b7552f9949
tree2f82a51fd7579fcc6444902981c38c40f5cf40f4
parentbf5660c9c9b02b36faabda50829e922748575757
oled: add support for SPI ssd130x displays

For I2C displays, the bus_type needs to be added:

+   .bus_type = SSD130x_BUS_I2C,
    .address = DISPLAY_ADDR,
    .bus_num = I2C0,

To use a SPI display:

1/ add the SSP include:

    #include "drivers/ssp.h"

2/ add the SPI pins to the init table:

    /* SPI : Display */
    { LPC_SSP0_SCLK_PIO_0_14, LPC_IO_DIGITAL },
    { LPC_SSP0_MISO_PIO_0_16, LPC_IO_DIGITAL },
    { LPC_SSP0_MOSI_PIO_0_17, LPC_IO_DIGITAL },

3/ update the oled_display conf:

    .bus_type = SSD130x_BUS_SPI,
    .bus_num = SSP_BUS_0,
    .gpio_dc = LPC_GPIO_0_0,
    .gpio_cs = LPC_GPIO_1_0,
    .gpio_rst = LPC_GPIO_0_31,

4/ initialize the SPI bus:

    ssp_master_on(SSP_BUS_0, LPC_SSP_FRAME_SPI, 8, 8*1000*1000);
oled/main.c