antunesls/despi_c02_driver

0.0.1

uploaded 7 months ago
DESPI-C02 Driver. Verified and working specifically with the Good Display GDEY042T81 (400x300 B/W E-Paper) using the SSD1683 controller.

Readme

# DESPI-C02 Driver para ESP-IDF

Driver em "Bare Metal" para o framework ESP-IDF desenvolvido para operar a placa de conexão **DESPI-C02**.

**📌 IMPORTANTE:** Este driver foi exaustivamente testado e funciona com perfeição (Zero Estática/Chuvisco) especificamente no display **Good Display GDEY042T81** (Tela E-Paper de 4.2", resolução 400x300, Preto/Branco) com o controlador interno **SSD1683**.
(A sequência de inicialização foi baseada na estabilidade de sinal do projeto GxEPD2 e adaptada nativamente em C para as APIs velozes do ESP-IDF).

## Funcionalidades
* **Full Refresh** (Limpar a tela para branco ou preto sem ghosting)
* **Fast Refresh** (Atualização rápida de ~1.5s sem piscar a tela toda)
* **Partial Refresh** (Atualização em janela específica de memória)
* Rotinas puras via `spi_device_polling_transmit` com micro-delays (`esp_rom_delay_us`) para estabilizar o controlador sobre a alta velocidade do ESP.
* Implementação segura e otimizada de deep sleep `epd_sleep()`.

## Como usar no seu projeto ESP-IDF
1. Inclua este diretório na sua compilação ou instale pelo Component Registry
2. Importe `#include "epd_gdey042t81.h"`
3. Chame:
```c
epd_init();           // Sobe o barramento SPI e Acorda a tela
epd_clear_white();    // Limpa a tela
epd_display(buffer);  // Envia seu framebuffer (imagem/texto)
epd_sleep();          // Coloca a tela para dormir
```

## Como alterar Pinos
Os pinos padrão estão listados em `include/epd_gdey042t81.h`. Basta alterar os defines nesse header de acordo com a sua CPU (Ex: ESP32-S3):
```c
#define EPD_PIN_MOSI    11
#define EPD_PIN_SCLK    12
#define EPD_PIN_CS      10
#define EPD_PIN_DC      47
#define EPD_PIN_RST     13
#define EPD_PIN_BUSY    21
```

## Instalação via ESP Component Registry

```bash
idf.py add-dependency "antunesls/despi_c02_driver"
```

## Exemplos

O repositório do componente contém exemplos práticos para você testar rapidamente.

1. **Basic Usage (`examples/basic_usage`):**
Demonstra a inicialização completa (Full Refresh), limpando a tela e escrevendo textos básicos.

2. **Partial / Fast Refresh (`examples/partial_refresh`):**
Demonstra como utilizar o modo de atualização rápida (~1.5s), configurando um `basemap` para o background inicial e iterando um contador.

**Como rodar qualquer exemplo:**

```bash
cd examples/basic_usage
idf.py set-target esp32s3 # substitua pelo seu MCU
idf.py build flash monitor
```

Links

To add this component to your project, run:

idf.py add-dependency "antunesls/despi_c02_driver^0.0.1"

download archive

Stats

  • Archive size
    Archive size ~ 13.21 KB
  • Downloaded in total
    Downloaded in total 55 times
  • Weekly Downloads Weekly Downloads (All Versions)
  • Downloaded this version
    This version: 4 times

Badge

antunesls/despi_c02_driver version: 0.0.1
|