X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fpcf8574.h;fp=bertos%2Fdrv%2Fpcf8574.h;h=dd33ed4aef0a92afde518ca8b41df857ed4b1ef5;hb=26d999589c974fc163fdf7e91a439f11d69c3f7b;hp=bf2f8e5ea5df254da2a4bbda9d3f343f2790695e;hpb=30a088bc2641f3e11c414dd32c672242099a9f5b;p=bertos.git diff --git a/bertos/drv/pcf8574.h b/bertos/drv/pcf8574.h index bf2f8e5e..dd33ed4a 100644 --- a/bertos/drv/pcf8574.h +++ b/bertos/drv/pcf8574.h @@ -69,16 +69,40 @@ typedef struct Pcf8574 #define PCF8574ID 0x40 ///< I2C address +/** + * Read PCF8574 \a pcf bit status. + * \return the pins status or EOF on errors. + */ +int pcf8574_get_2(I2c *i2c, Pcf8574 *pcf); + +/** + * Write to PCF8574 \a pcf port \a data. + * \return true if ok, false on errors. + */ +bool pcf8574_put_3(I2c *i2c, Pcf8574 *pcf, uint8_t data); + +/** + * Init a PCF8574 on the bus with addr \a addr. + * \return true if device is found, false otherwise. + */ +bool pcf8574_init_3(I2c *i2c, 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 */ +DEPRECATED INLINE int pcf8574_get_1(Pcf8574 *pcf) +{ + return pcf8574_get_2(&local_i2c_old_api, pcf); +} +DEPRECATED INLINE bool pcf8574_put_2(Pcf8574 *pcf, uint8_t data) +{ + return pcf8574_put_3(&local_i2c_old_api, pcf, data); +} -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); +DEPRECATED INLINE bool pcf8574_init_2(Pcf8574 *pcf, pcf8574_addr addr) +{ + return pcf8574_init_3(&local_i2c_old_api, pcf, addr); +} +#endif /* !CONFIG_I2C_DISABLE_OLD_API */ #endif /* DRV_PCF8574_H */