Exemplo n.º 1
0
    def power_down(self):

        if self.power != -1:
            esp.gpio_set_level(self.power, 1 - self.power_on)

        if self.backlight != -1:
            esp.gpio_set_level(self.backlight, 1 - self.backlight_on)
Exemplo n.º 2
0
 def send_data(self, data):
     esp.gpio_set_level(self.dc, 1)  # Data mode
     if len(data) > TRANS_BUFFER_LEN:
         raise RuntimeError('Data too long, please use DMA!')
     trans_data = self.trans_buffer.__dereference__(len(data))
     trans_data[:] = data[:]
     self.spi_send(trans_data)
Exemplo n.º 3
0
    def init(self):
        self.disp_spi_init()
        esp.gpio_pad_select_gpio(self.dc)

        # Initialize non-SPI GPIOs

        esp.gpio_set_direction(self.dc, esp.GPIO_MODE.OUTPUT)
        esp.gpio_set_direction(self.rst, esp.GPIO_MODE.OUTPUT)
        if self.backlight != -1:
            esp.gpio_set_direction(self.backlight, esp.GPIO_MODE.OUTPUT)

        # Reset the display

        esp.gpio_set_level(self.rst, 0)
        esp.task_delay_ms(100)
        esp.gpio_set_level(self.rst, 1)
        esp.task_delay_ms(100)

        # Send all the commands

        for cmd in self.init_cmds:
            self.send_cmd(cmd['cmd'])
            self.send_data(cmd['data'])
            if 'delay' in cmd:
                esp.task_delay_ms(cmd['delay'])

        print("ILI9341 initialization completed")

        # Enable backlight

        if self.backlight != -1:
            print("Enable backlight")
            esp.gpio_set_level(self.backlight, 1)
Exemplo n.º 4
0
    async def _init(self, sleep_func):

        # Initialize non-SPI GPIOs

        esp.gpio_pad_select_gpio(self.dc)
        if self.rst != -1: esp.gpio_pad_select_gpio(self.rst)
        if self.backlight != -1: esp.gpio_pad_select_gpio(self.backlight)
        if self.power != -1: esp.gpio_pad_select_gpio(self.power)

        esp.gpio_set_direction(self.dc, esp.GPIO_MODE.OUTPUT)
        if self.rst != -1:
            esp.gpio_set_direction(self.rst, esp.GPIO_MODE.OUTPUT)
        if self.backlight != -1:
            esp.gpio_set_direction(self.backlight, esp.GPIO_MODE.OUTPUT)
        if self.power != -1:
            esp.gpio_set_direction(self.power, esp.GPIO_MODE.OUTPUT)

        # Power the display

        if self.power != -1:
            esp.gpio_set_level(self.power, self.power_on)
            await sleep_func(100)

        # Reset the display

        if self.rst != -1:
            esp.gpio_set_level(self.rst, 0)
            await sleep_func(100)
            esp.gpio_set_level(self.rst, 1)
            await sleep_func(100)

        # Send all the commands

        for cmd in self.init_cmds:
            self.send_cmd(cmd['cmd'])
            if 'data' in cmd:
                self.send_data(cmd['data'])
            if 'delay' in cmd:
                await sleep_func(cmd['delay'])

        print("{} initialization completed".format(self.display_name))

        # Enable backlight

        if self.backlight != -1:
            print("Enable backlight")
            esp.gpio_set_level(self.backlight, self.backlight_on)

        # Register the driver
        self.disp_drv.register()
Exemplo n.º 5
0
    def init(self):
        self.disp_spi_init()

        # Initialize non-SPI GPIOs

        esp.gpio_pad_select_gpio(self.dc)
        esp.gpio_pad_select_gpio(self.rst)
        if self.backlight != -1: esp.gpio_pad_select_gpio(self.backlight)
        if self.power != -1: esp.gpio_pad_select_gpio(self.power)

        esp.gpio_set_direction(self.dc, esp.GPIO_MODE.OUTPUT)
        esp.gpio_set_direction(self.rst, esp.GPIO_MODE.OUTPUT)
        if self.backlight != -1:
            esp.gpio_set_direction(self.backlight, esp.GPIO_MODE.OUTPUT)
        if self.power != -1:
            esp.gpio_set_direction(self.power, esp.GPIO_MODE.OUTPUT)

        # Power the display

        if self.power != -1:
            esp.gpio_set_level(self.power, self.power_on)
            sleep_ms(100)

        # Reset the display

        esp.gpio_set_level(self.rst, 0)
        sleep_ms(100)
        esp.gpio_set_level(self.rst, 1)
        sleep_ms(100)

        # Send all the commands

        for cmd in self.init_cmds:
            self.send_cmd(cmd['cmd'])
            if 'data' in cmd:
                self.send_data(cmd['data'])
            if 'delay' in cmd:
                sleep_ms(cmd['delay'])

        print("{} initialization completed".format(self.display_name))

        # Enable backlight

        if self.backlight != -1:
            print("Enable backlight")
            esp.gpio_set_level(self.backlight, self.backlight_on)
Exemplo n.º 6
0
 def send_data_dma(self,
                   data):  # data should be allocated as DMA-able memory
     esp.gpio_set_level(self.dc, 1)  # Data mode
     self.spi_send_dma(data)
Exemplo n.º 7
0
 def send_trans_word(self):
     esp.gpio_set_level(self.dc, 1)  # Data mode
     self.spi_send(self.word_trans_data)
Exemplo n.º 8
0
 def send_cmd(self, cmd):
     esp.gpio_set_level(self.dc, 0)  # Command mode
     self.cmd_trans_data[0] = cmd
     self.spi_send(self.cmd_trans_data)
Exemplo n.º 9
0
 def send_data(self, data, dma=False):
     esp.gpio_set_level(self.dc, 1)  # Data mode
     self.disp_spi_send(data, dma=dma)
Exemplo n.º 10
0
 def send_cmd(self, cmd):
     self.cmd_data[0] = cmd
     esp.gpio_set_level(self.dc, 0)  # Command mode
     self.disp_spi_send(self.cmd_data)
Exemplo n.º 11
0
 def send_data(self, data):
     esp.gpio_set_level(self.dc, 1)  # Data mode
     self.disp_spi_send(data)