From 08a85ba869c3232ca7063c737c238ca41e20885e Mon Sep 17 00:00:00 2001 From: Timofey Titovets Date: Fri, 13 Sep 2024 22:02:05 +0200 Subject: i2ccmds: abstract i2c dev from bus implementation Added wrapper around sw/hw bus API, pins.py code will ensure that pins will not mix between HW/SW buses. Signed-off-by: Timofey Titovets --- src/i2ccmds.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/i2ccmds.h') diff --git a/src/i2ccmds.h b/src/i2ccmds.h index 9ce54aa0..477cee02 100644 --- a/src/i2ccmds.h +++ b/src/i2ccmds.h @@ -5,12 +5,17 @@ #include "board/gpio.h" // i2c_config struct i2cdev_s { - struct i2c_config i2c_config; - struct i2c_software *i2c_software; + union { + struct i2c_config i2c_hw; + struct i2c_software *i2c_sw; + }; uint8_t flags; }; struct i2cdev_s *i2cdev_oid_lookup(uint8_t oid); void i2cdev_set_software_bus(struct i2cdev_s *i2c, struct i2c_software *is); +void i2c_dev_read(struct i2cdev_s *i2c, uint8_t reg_len, uint8_t *reg + , uint8_t read_len, uint8_t *read); +void i2c_dev_write(struct i2cdev_s *i2c, uint8_t write_len, uint8_t *data); #endif -- cgit v1.2.3-70-g09d2