From 0765dbb56970f652d23600180bd1006850653c5e Mon Sep 17 00:00:00 2001 From: cfif Date: Wed, 4 Dec 2024 13:10:49 +0300 Subject: [PATCH] Init --- Inc/I2cIO.h | 28 ++++++++++++++++++++++++++++ modular.json | 10 ++++++++++ 2 files changed, 38 insertions(+) create mode 100644 Inc/I2cIO.h create mode 100644 modular.json diff --git a/Inc/I2cIO.h b/Inc/I2cIO.h new file mode 100644 index 0000000..d9b490e --- /dev/null +++ b/Inc/I2cIO.h @@ -0,0 +1,28 @@ +// +// Created by xemon on 12.10.22. +// + +#ifndef UVEOS_ON_NATION_I2CPORTINTERFACE_H +#define UVEOS_ON_NATION_I2CPORTINTERFACE_H + +#include "stdint.h" + +//typedef enum { +// I2C_RW_OK = 0x00U, +// I2C_RW_ERROR = 0x01U, +// I2C_RW_BUSY = 0x02U, +// I2C_RW_TIMEOUT = 0x03U +//} I2cIOResult; + +typedef uint16_t ( *I2C_IO_Operation )(void *env, uint16_t devAddress, uint8_t *data, uint16_t size, uint32_t timeout); + +typedef struct { + void *env; + I2C_IO_Operation read; + I2C_IO_Operation write; +} tI2cIO; + +#define I2cRead(IO, DEV_ADDR, DATA, SIZE, TIMEOUT) IO->read(IO->env,DEV_ADDR, DATA, SIZE, TIMEOUT) +#define I2cWrite(IO, DEV_ADDR, DATA, SIZE, TIMEOUT) IO->write(IO->env,DEV_ADDR, DATA, SIZE, TIMEOUT) + +#endif //UVEOS_ON_NATION_I2CPORTINTERFACE_H diff --git a/modular.json b/modular.json new file mode 100644 index 0000000..71971cd --- /dev/null +++ b/modular.json @@ -0,0 +1,10 @@ +{ + "cmake": { + "inc_dirs": [ + "Inc" + ], + "srcs": [ + "Src/**.c" + ] + } +} \ No newline at end of file