move into firmware subfolder
Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
92
firmware/main/hal/u8g2_esp32_hal.h
Normal file
92
firmware/main/hal/u8g2_esp32_hal.h
Normal file
@@ -0,0 +1,92 @@
|
||||
#ifndef U8G2_ESP32_HAL_H
|
||||
#define U8G2_ESP32_HAL_H
|
||||
/*
|
||||
* u8g2_esp32_hal.h
|
||||
*
|
||||
* Created on: Feb 12, 2017
|
||||
* Author: kolban
|
||||
*/
|
||||
|
||||
#ifndef U8G2_ESP32_HAL_H_
|
||||
#define U8G2_ESP32_HAL_H_
|
||||
#include "u8g2.h"
|
||||
|
||||
#include "driver/gpio.h"
|
||||
#include "driver/i2c.h"
|
||||
#include "driver/spi_master.h"
|
||||
|
||||
#define U8G2_ESP32_HAL_UNDEFINED GPIO_NUM_NC
|
||||
|
||||
#if SOC_I2C_NUM > 1
|
||||
#define I2C_MASTER_NUM I2C_NUM_1 // I2C port number for master dev
|
||||
#else
|
||||
#define I2C_MASTER_NUM I2C_NUM_0 // I2C port number for master dev
|
||||
#endif
|
||||
|
||||
#define I2C_MASTER_TX_BUF_DISABLE 0 // I2C master do not need buffer
|
||||
#define I2C_MASTER_RX_BUF_DISABLE 0 // I2C master do not need buffer
|
||||
#define I2C_MASTER_FREQ_HZ 400000 // I2C master clock frequency
|
||||
#define ACK_CHECK_EN 0x1 // I2C master will check ack from slave
|
||||
#define ACK_CHECK_DIS 0x0 // I2C master will not check ack from slave
|
||||
|
||||
/** @public
|
||||
* HAL configuration structure.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
union {
|
||||
/* SPI settings. */
|
||||
struct
|
||||
{
|
||||
/* GPIO num for clock. */
|
||||
gpio_num_t clk;
|
||||
/* GPIO num for SPI mosi. */
|
||||
gpio_num_t mosi;
|
||||
/* GPIO num for SPI slave/chip select. */
|
||||
gpio_num_t cs;
|
||||
} spi;
|
||||
/* I2C settings. */
|
||||
struct
|
||||
{
|
||||
/* GPIO num for I2C data. */
|
||||
gpio_num_t sda;
|
||||
/* GPIO num for I2C clock. */
|
||||
gpio_num_t scl;
|
||||
} i2c;
|
||||
} bus;
|
||||
/* GPIO num for reset. */
|
||||
gpio_num_t reset;
|
||||
/* GPIO num for DC. */
|
||||
gpio_num_t dc;
|
||||
} u8g2_esp32_hal_t;
|
||||
|
||||
/**
|
||||
* Construct a default HAL configuration with all fields undefined.
|
||||
*/
|
||||
#define U8G2_ESP32_HAL_DEFAULT \
|
||||
{.bus = {.spi = {.clk = U8G2_ESP32_HAL_UNDEFINED, \
|
||||
.mosi = U8G2_ESP32_HAL_UNDEFINED, \
|
||||
.cs = U8G2_ESP32_HAL_UNDEFINED}}, \
|
||||
.reset = U8G2_ESP32_HAL_UNDEFINED, \
|
||||
.dc = U8G2_ESP32_HAL_UNDEFINED}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
/**
|
||||
* Initialize the HAL with the given configuration.
|
||||
*
|
||||
* @see u8g2_esp32_hal_t
|
||||
* @see U8G2_ESP32_HAL_DEFAULT
|
||||
*/
|
||||
void u8g2_esp32_hal_init(u8g2_esp32_hal_t u8g2_esp32_hal_param);
|
||||
uint8_t u8g2_esp32_spi_byte_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
|
||||
uint8_t u8g2_esp32_i2c_byte_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
|
||||
uint8_t u8g2_esp32_gpio_and_delay_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* U8G2_ESP32_HAL_H_ */
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user