arnaucube
arnaucube/esp32-wallet-viewerPublic Self-hosted repository
esp32-wallet-viewer/main/u8g2_esp32_hal.h
main/u8g2_esp32_hal.hRaw
 1/*
 2 * u8g2_esp32_hal.h
 3 *
 4 *  Created on: Feb 12, 2017
 5 *      Author: kolban
 6 */
 7
 8#ifndef U8G2_ESP32_HAL_H_
 9#define U8G2_ESP32_HAL_H_
10#include "u8g2.h"
11
12#include "driver/gpio.h"
13#include "driver/spi_master.h"
14#include "driver/i2c.h"
15
16#define U8G2_ESP32_HAL_UNDEFINED (-1)
17
18#define I2C_MASTER_NUM I2C_NUM_1           //  I2C port number for master dev
19#define I2C_MASTER_TX_BUF_DISABLE   0      //  I2C master do not need buffer
20#define I2C_MASTER_RX_BUF_DISABLE   0      //  I2C master do not need buffer
21#define I2C_MASTER_FREQ_HZ          50000  //  I2C master clock frequency
22#define ACK_CHECK_EN   0x1                 //  I2C master will check ack from slave
23#define ACK_CHECK_DIS  0x0                 //  I2C master will not check ack from slave
24
25typedef struct {
26	gpio_num_t clk;
27	gpio_num_t mosi;
28	gpio_num_t sda; // data for I²C
29	gpio_num_t scl; // clock for I²C
30	gpio_num_t cs;
31	gpio_num_t reset;
32	gpio_num_t dc;
33} u8g2_esp32_hal_t ;
34
35#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 }
36
37void u8g2_esp32_hal_init(u8g2_esp32_hal_t u8g2_esp32_hal_param);
38uint8_t u8g2_esp32_spi_byte_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
39uint8_t u8g2_esp32_i2c_byte_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
40uint8_t u8g2_esp32_gpio_and_delay_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);
41#endif /* U8G2_ESP32_HAL_H_ */
42