metesp/src/epd/epd_cfg.cpp
2022-05-28 15:06:59 +02:00

47 lines
1.3 KiB
C++

#include "epd_cfg.h"
void GPIO_Config(void) {
pinMode(EPD_BUSY_PIN, INPUT);
pinMode(EPD_RST_PIN, OUTPUT);
pinMode(EPD_DC_PIN, OUTPUT);
pinMode(EPD_SCK_PIN, OUTPUT);
pinMode(EPD_MOSI_PIN, OUTPUT);
pinMode(EPD_CS_PIN, OUTPUT);
digitalWrite(EPD_CS_PIN, HIGH);
digitalWrite(EPD_SCK_PIN, LOW);
}
/******************************************************************************
function: Module Initialize, the BCM2835 library and initialize the pins, SPI protocol
parameter:
Info:
******************************************************************************/
uint8_t DEV_Module_Init(void) {
GPIO_Config();
#ifdef USE_DEBUG
Serial.begin(115200);
#endif
return 0;
}
/******************************************************************************
function:
SPI read and write
******************************************************************************/
void DEV_SPI_WriteByte(uint8_t data) {
digitalWrite(EPD_CS_PIN, GPIO_PIN_RESET);
for (int i = 0; i < 8; i++) {
if ((data & 0x80) == 0) digitalWrite(EPD_MOSI_PIN, GPIO_PIN_RESET);
else digitalWrite(EPD_MOSI_PIN, GPIO_PIN_SET);
data <<= 1;
digitalWrite(EPD_SCK_PIN, GPIO_PIN_SET);
digitalWrite(EPD_SCK_PIN, GPIO_PIN_RESET);
}
digitalWrite(EPD_CS_PIN, GPIO_PIN_SET);
}