This commit is contained in:
2026-05-19 11:49:22 +08:00
commit add7af4222
96 changed files with 8635 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#ifndef INCLUDED_DRV_SOFTI2C_H
#define INCLUDED_DRV_SOFTI2C_H
#ifndef INCLUDED_DRV_DEVICE_H
#include <drv_device.h>
#endif /*INCLUDED_DRV_DEVICE_H*/
typedef struct drv_softi2c_t drv_softi2c_t;
struct drv_softi2c_t{
drv_device_t root;
os_uint_t scl_clock;
void* scl_port;
os_uint_t scl_pin;
os_uint_t sda_clock;
void* sda_port;
os_uint_t sda_pin;
os_err_t (*put)(drv_softi2c_t* self, const uint8_t data);
os_err_t (*get)(drv_softi2c_t* self, uint8_t* data);
};
#define drv_softi2c_start(dev) drv_device_open(dev)
#define drv_softi2c_stop(dev) drv_device_close(dev)
#define drv_softi2c_put(dev, data) (dev)->put((drv_softi2c_t*)(dev)->handle, data)
#define drv_softi2c_get(dev, data) (dev)->get((drv_softi2c_t*)(dev)->handle, data)
#endif /*INCLUDED_DRV_SOFTI2C_H*/