diff -r 8c88a3d8ecf2 -r 232f318a6b51 main/u8g2_esp32_hal.h --- a/main/u8g2_esp32_hal.h Sat Jun 13 23:16:50 2020 +0200 +++ b/main/u8g2_esp32_hal.h Sun Jun 14 14:53:06 2020 +0200 @@ -12,29 +12,47 @@ #include "driver/spi_master.h" #include "driver/i2c.h" -#define U8G2_ESP32_HAL_UNDEFINED (-1) +#define U8G2_ESP32_HAL_UNDEFINED (-1) ///< Undefined value for this HAL -#define I2C_MASTER_NUM (CONFIG_I2C_MASTER_PORT_NUM) ///< I2C port number for master dev (original 1) -#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_NUM (CONFIG_I2C_MASTER_PORT_NUM) ///< I2C port number for master dev (original 1) +#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 (CONFIG_I2C_MASTER_FREQUENCY) ///< I2C master clock frequency (original 50000) -#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 +#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 typedef struct { - gpio_num_t clk; - gpio_num_t mosi; - gpio_num_t sda; // data for I²C - gpio_num_t scl; // clock for I²C - gpio_num_t cs; - gpio_num_t reset; + gpio_num_t clk; ///< SPI clock + gpio_num_t mosi; ///< SPI mosi + gpio_num_t sda; ///< data for I²C + gpio_num_t scl; ///< clock for I²C + gpio_num_t cs; ///< SPI cs + gpio_num_t reset; ///< SPI reset gpio_num_t dc; -} u8g2_esp32_hal_t ; +} u8g2_esp32_hal_t; ///< HAL structure #define U8G2_ESP32_HAL_DEFAULT {U8G2_ESP32_HAL_UNDEFINED, U8G2_ESP32_HAL_UNDEFINED, U8G2_ESP32_HAL_UNDEFINED, U8G2_ESP32_HAL_UNDEFINED, U8G2_ESP32_HAL_UNDEFINED, U8G2_ESP32_HAL_UNDEFINED, U8G2_ESP32_HAL_UNDEFINED } +/** + * @brief Initialze the ESP32 HAL. + */ void u8g2_esp32_hal_init(u8g2_esp32_hal_t u8g2_esp32_hal_param); + +/** + * @brief HAL callback function as prescribed by the U8G2 library. + * This callback is invoked to handle SPI communications. + */ uint8_t u8g2_esp32_spi_byte_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); + +/** + * @brief HAL callback function as prescribed by the U8G2 library. + * This callback is invoked to handle I2C communications. + */ uint8_t u8g2_esp32_i2c_byte_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); + +/** + * @brief HAL callback function as prescribed by the U8G2 library. + * This callback is invoked to handle callbacks for GPIO and delay functions. + */ uint8_t u8g2_esp32_gpio_and_delay_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); #endif /* U8G2_ESP32_HAL_H_ */