X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fhw%2Fhw_i2c_bitbang.h;h=6aabb46d6a1bb063eaeff211f73b13631b1c1ba7;hb=39e610b96cb8dfc444c213c97e7076e40cc1d52b;hp=4822af7c81462edea4647179aa79f75e0513df2e;hpb=0ae40112b9e0f2c42e89e14e9abe7d866c63d36a;p=bertos.git diff --git a/bertos/hw/hw_i2c_bitbang.h b/bertos/hw/hw_i2c_bitbang.h index 4822af7c..6aabb46d 100644 --- a/bertos/hw/hw_i2c_bitbang.h +++ b/bertos/hw/hw_i2c_bitbang.h @@ -34,7 +34,6 @@ * \brief Macro for I2C bitbang operation. * * - * \version $Id$ * * \author Francesco Sacchi */ @@ -63,4 +62,66 @@ */ #define I2C_HALFBIT_DELAY() do { /* Implement me! */ } while (0) + +/* + * New api + */ +#include + +INLINE void i2c_sdaHi(int dev) +{ + (void)(dev); + /* Implement me:Set SDA High by setting SDA pin as input */ +} + +INLINE void i2c_sdaLo(int dev) +{ + (void)(dev); + /* Implement me:Set SDA Low by setting SDA pin as open collector output */ +} + +INLINE void i2c_sclHi(int dev) +{ + (void)(dev); + /* Implement me:Set SCL High by setting SCL pin as input */ +} + +INLINE void i2c_sclLo(int dev) +{ + (void)(dev); + /* Implement me:Set SCL Low by setting SCL pin as open collector output */ +} + +INLINE bool i2c_sdaIn(int dev) +{ + (void)(dev); + /* Implement me: read SDA pin state */ + return true; +} + +INLINE bool i2c_sclIn(int dev) +{ + (void)(dev); + /* Implement me: read SCL pin state */ + return true; +} + +/** + * Half bit delay routine used to generate the correct timings. + */ +INLINE void i2c_halfbitDelay(int dev) +{ + (void)(dev); + /* Implement me! */ +} + +/** + * This macro should set SDA and SCL lines as input. + */ +INLINE void i2c_bitbangInit(int dev) +{ + (void)(dev); + /* Implement me! */ +} + #endif /* HW_I2C_BITBANG_H */