cleanup driver code

This commit is contained in:
Shuanglei Tao
2025-04-19 17:37:11 +08:00
parent 50a0f58725
commit dd153f91d1
2 changed files with 10 additions and 36 deletions

View File

@@ -13,8 +13,6 @@
******************************************************************************/ ******************************************************************************/
#include "app_error.h" #include "app_error.h"
#include "nrf_delay.h"
#include "nrf_gpio.h"
#include "nrf_drv_spi.h" #include "nrf_drv_spi.h"
#include "EPD_driver.h" #include "EPD_driver.h"
#include "nrf_log.h" #include "nrf_log.h"
@@ -71,33 +69,8 @@ void pinMode(uint32_t pin, uint32_t mode)
} }
} }
void digitalWrite(uint32_t pin, uint32_t value)
{
if (value == LOW)
nrf_gpio_pin_clear(pin);
else
nrf_gpio_pin_set(pin);
}
uint32_t digitalRead(uint32_t pin)
{
nrf_gpio_pin_dir_t dir = nrf_gpio_pin_dir_get(pin);
if (dir == NRF_GPIO_PIN_DIR_INPUT)
return nrf_gpio_pin_read(pin);
else
return nrf_gpio_pin_out_read(pin);
}
void delay(uint32_t ms)
{
nrf_delay_ms(ms);
}
void EPD_GPIO_Init(void) void EPD_GPIO_Init(void)
{ {
pinMode(EPD_MOSI_PIN, OUTPUT);
pinMode(EPD_SCLK_PIN, OUTPUT);
pinMode(EPD_CS_PIN, OUTPUT);
pinMode(EPD_DC_PIN, OUTPUT); pinMode(EPD_DC_PIN, OUTPUT);
pinMode(EPD_RST_PIN, OUTPUT); pinMode(EPD_RST_PIN, OUTPUT);
pinMode(EPD_BUSY_PIN, INPUT); pinMode(EPD_BUSY_PIN, INPUT);
@@ -112,16 +85,16 @@ void EPD_GPIO_Init(void)
APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, NULL)); APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, NULL));
#endif #endif
if (EPD_BS_PIN != 0xFF) {
pinMode(EPD_BS_PIN, OUTPUT);
digitalWrite(EPD_BS_PIN, LOW);
}
if (EPD_EN_PIN != 0xFF) { if (EPD_EN_PIN != 0xFF) {
pinMode(EPD_EN_PIN, OUTPUT); pinMode(EPD_EN_PIN, OUTPUT);
digitalWrite(EPD_EN_PIN, HIGH); digitalWrite(EPD_EN_PIN, HIGH);
} }
pinMode(EPD_BS_PIN, OUTPUT);
digitalWrite(EPD_BS_PIN, LOW);
digitalWrite(EPD_DC_PIN, LOW); digitalWrite(EPD_DC_PIN, LOW);
digitalWrite(EPD_CS_PIN, LOW);
digitalWrite(EPD_RST_PIN, HIGH); digitalWrite(EPD_RST_PIN, HIGH);
if (EPD_LED_PIN != 0xFF) if (EPD_LED_PIN != 0xFF)
@@ -137,9 +110,8 @@ void EPD_GPIO_Uninit(void)
digitalWrite(EPD_DC_PIN, LOW); digitalWrite(EPD_DC_PIN, LOW);
digitalWrite(EPD_CS_PIN, LOW); digitalWrite(EPD_CS_PIN, LOW);
digitalWrite(EPD_RST_PIN, LOW); digitalWrite(EPD_RST_PIN, LOW);
if (EPD_EN_PIN != 0xFF) { if (EPD_EN_PIN != 0xFF)
digitalWrite(EPD_EN_PIN, LOW); digitalWrite(EPD_EN_PIN, LOW);
}
// reset pin state // reset pin state
pinMode(EPD_MOSI_PIN, DEFAULT); pinMode(EPD_MOSI_PIN, DEFAULT);

View File

@@ -18,6 +18,8 @@
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>
#include <stdlib.h> #include <stdlib.h>
#include "nrf_delay.h"
#include "nrf_gpio.h"
#include "EPD_config.h" #include "EPD_config.h"
#define BIT(n) (1UL << (n)) #define BIT(n) (1UL << (n))
@@ -67,9 +69,9 @@ typedef struct
// Arduino like function wrappers // Arduino like function wrappers
void pinMode(uint32_t pin, uint32_t mode); void pinMode(uint32_t pin, uint32_t mode);
void digitalWrite(uint32_t pin, uint32_t value); #define digitalWrite(pin, value) nrf_gpio_pin_write(pin, value)
uint32_t digitalRead(uint32_t pin); #define digitalRead(pin) nrf_gpio_pin_read(pin)
void delay(uint32_t ms); #define delay(ms) nrf_delay_ms(ms)
// GPIO // GPIO
void EPD_GPIO_Load(epd_config_t *cfg); void EPD_GPIO_Load(epd_config_t *cfg);