X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fpcf8574.h;h=bf2f8e5ea5df254da2a4bbda9d3f343f2790695e;hb=fe0574946861850880407c1be53f3b12c61cbb04;hp=2041b4808c58af5e995020070162b39cd8c3221d;hpb=b46f64914c62fbb0297728280478681659469654;p=bertos.git diff --git a/bertos/drv/pcf8574.h b/bertos/drv/pcf8574.h index 2041b480..bf2f8e5e 100644 --- a/bertos/drv/pcf8574.h +++ b/bertos/drv/pcf8574.h @@ -41,8 +41,22 @@ #ifndef DRV_PCF8574_H #define DRV_PCF8574_H +#include "cfg/cfg_i2c.h" + #include +#include + +#if COMPILER_C99 + #define pcf8574_init(...) PP_CAT(pcf8574_init ## _, COUNT_PARMS(__VA_ARGS__)) (__VA_ARGS__) + #define pcf8574_get(...) PP_CAT(pcf8574_get ## _, COUNT_PARMS(__VA_ARGS__)) (__VA_ARGS__) + #define pcf8574_put(...) PP_CAT(pcf8574_put ## _, COUNT_PARMS(__VA_ARGS__)) (__VA_ARGS__) +#else + #define pcf8574_init(args...) PP_CAT(pcf8574_init ## _, COUNT_PARMS(args)) (args) + #define pcf8574_get(args...) PP_CAT(pcf8574_get ## _, COUNT_PARMS(args)) (args) + #define pcf8574_put(args...) PP_CAT(pcf8574_put ## _, COUNT_PARMS(args)) (args) +#endif + typedef uint8_t pcf8574_addr; /** @@ -55,8 +69,16 @@ typedef struct Pcf8574 #define PCF8574ID 0x40 ///< I2C address -int pcf8574_get(Pcf8574 *pcf); -bool pcf8574_put(Pcf8574 *pcf, uint8_t data); -bool pcf8574_init(Pcf8574 *pcf, pcf8574_addr addr); +#if !CONFIG_I2C_DISABLE_OLD_API + +DEPRECATED int pcf8574_get_1(Pcf8574 *pcf); +DEPRECATED bool pcf8574_put_2(Pcf8574 *pcf, uint8_t data); +DEPRECATED bool pcf8574_init_2(Pcf8574 *pcf, pcf8574_addr addr); +#endif /* !CONFIG_I2C_DISABLE_OLD_API */ + + +int pcf8574_get_2(I2c *i2c, Pcf8574 *pcf); +bool pcf8574_put_3(I2c *i2c, Pcf8574 *pcf, uint8_t data); +bool pcf8574_init_3(I2c *i2c, Pcf8574 *pcf, pcf8574_addr addr); #endif /* DRV_PCF8574_H */