1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-23 00:00:06 +01:00
libwebsockets/minimal-examples/embedded/esp32/esp-c3dev/main/bb-i2c.h
Andy Green 06e881aad6 esp32c3
Add
2021-08-31 05:45:40 +01:00

51 lines
951 B
C

/*
* lws-minimal-esp32
*
* Written in 2010-2020 by Andy Green <andy@warmcat.com>
*
* This file is made available under the Creative Commons CC0 1.0
* Universal Public Domain Dedication.
*/
#include <stdint.h>
#include <stddef.h>
#include "i2c.h"
#include "gpio-esp32.h"
typedef struct lws_bb_i2c {
lws_i2c_ops_t bb_ops; /* init to lws_bb_i2c_ops */
/* implementation-specific members */
_lws_plat_gpio_t scl;
_lws_plat_gpio_t sda;
const lws_gpio_ops_t *gpio;
void (*delay)(void);
} lws_bb_i2c_t;
#define lws_bb_i2c_ops \
{ \
.start = lws_bb_i2c_start, \
.stop = lws_bb_i2c_stop, \
.write = lws_bb_i2c_write, \
.read = lws_bb_i2c_read, \
.set_ack = lws_bb_i2c_set_ack, \
}
int
lws_bb_i2c_start(lws_i2c_ops_t *octx);
void
lws_bb_i2c_stop(lws_i2c_ops_t *octx);
int
lws_bb_i2c_write(lws_i2c_ops_t *octx, uint8_t data);
int
lws_bb_i2c_read(lws_i2c_ops_t *octx);
void
lws_bb_i2c_set_ack(lws_i2c_ops_t *octx, int ack);