44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#ifndef _EPD_SPI_H_
|
|
#define _EPD_SPI_H_
|
|
|
|
#include "driver/gpio.h"
|
|
#include "driver/spi_master.h"
|
|
#include "esp_log.h"
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/task.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// Pin Definitions for ESP32-C3
|
|
// SPI2 Host is used for C3
|
|
#define EPD_SCK_PIN GPIO_NUM_4
|
|
#define EPD_MOSI_PIN GPIO_NUM_6
|
|
#define EPD_CS_PIN GPIO_NUM_7
|
|
#define EPD_DC_PIN GPIO_NUM_3
|
|
#define EPD_RST_PIN GPIO_NUM_2
|
|
#define EPD_BUSY_PIN GPIO_NUM_10
|
|
|
|
#define isEPD_W21_BUSY gpio_get_level(EPD_BUSY_PIN)
|
|
#define EPD_W21_RST_0 gpio_set_level(EPD_RST_PIN, 0)
|
|
#define EPD_W21_RST_1 gpio_set_level(EPD_RST_PIN, 1)
|
|
#define EPD_W21_DC_0 gpio_set_level(EPD_DC_PIN, 0)
|
|
#define EPD_W21_DC_1 gpio_set_level(EPD_DC_PIN, 1)
|
|
#define EPD_W21_CS_0 gpio_set_level(EPD_CS_PIN, 0)
|
|
#define EPD_W21_CS_1 gpio_set_level(EPD_CS_PIN, 1)
|
|
|
|
void EPD_SPI_Init(void);
|
|
void SPI_Write(unsigned char value);
|
|
void EPD_W21_WriteDATA(unsigned char datas);
|
|
void EPD_W21_WriteCMD(unsigned char command);
|
|
unsigned char EPD_W21_ReadDATA(void);
|
|
|
|
#define delay(ms) vTaskDelay((ms) / portTICK_PERIOD_MS)
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|