X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Ftas5706a.h;h=0c146ea6a62e8ca35e4901adf1e47d238dbbe29f;hb=39184f9b190fdcfec2f17aad6f0de8b2edf04a02;hp=b379e0911a531c0501016fd1f68d92c15c9def68;hpb=c921d09b2bb71feaf1dd954200db6f7e1e88e7c2;p=bertos.git diff --git a/bertos/drv/tas5706a.h b/bertos/drv/tas5706a.h index b379e091..0c146ea6 100644 --- a/bertos/drv/tas5706a.h +++ b/bertos/drv/tas5706a.h @@ -33,10 +33,10 @@ * \brief TAS5706A Power DAC i2c driver. * * - * \version $Id$ * \author Francesco Sacchi * * $WIZ$ module_name = "tas5706a" + * $WIZ$ module_depends = "timer", "i2c" * $WIZ$ module_configuration = "bertos/cfg/cfg_tas5706a.h" * $WIZ$ module_hw = "bertos/hw/hw_tas5706a.h" */ @@ -44,8 +44,22 @@ #ifndef DRV_TAS5706A_H #define DRV_TAS5706A_H +#include "cfg/cfg_i2c.h" + #include +#include + +#if COMPILER_C99 + #define tas5706a_init(...) PP_CAT(tas5706a_init ## _, COUNT_PARMS(__VA_ARGS__)) (__VA_ARGS__) + #define tas5706a_setLowPower(...) PP_CAT(tas5706a_setLowPower ## _, COUNT_PARMS(__VA_ARGS__)) (__VA_ARGS__) + #define tas5706a_setVolume(...) PP_CAT(tas5706a_setVolume ## _, COUNT_PARMS(__VA_ARGS__)) (__VA_ARGS__) +#else + #define tas5706a_init(args...) PP_CAT(tas5706a_init ## _, COUNT_PARMS(args)) (args) + #define tas5706a_setLowPower(args...) PP_CAT(tas5706a_setLowPower ## _, COUNT_PARMS(args)) (args) + #define tas5706a_setVolume(args...) PP_CAT(tas5706a_setVolume ## _, COUNT_PARMS(args)) (args) +#endif + typedef enum Tas5706aCh { TAS_CH1, @@ -73,12 +87,7 @@ typedef uint8_t tas5706a_vol_t; * \param ch The channel to be controlled. * \param vol The volume you want to set. */ -void tas5706a_setVolume(Tas5706aCh ch, tas5706a_vol_t vol); - -/** - * Initialize the TAS chip. - */ -void tas5706a_init(void); +void tas5706a_setVolume_3(I2c *i2c, Tas5706aCh ch, tas5706a_vol_t vol); /** * Set TAS chip to low power mode. @@ -88,6 +97,18 @@ void tas5706a_init(void); * * \param val True if you want to enable low power mode, false otherwise. */ -void tas5706a_setLowPower(bool val); +void tas5706a_setLowPower_2(I2c *i2c, bool val); + +/** + * Initialize the TAS chip. + */ +void tas5706a_init_1(I2c *i2c); + +#if !CONFIG_I2C_DISABLE_OLD_API + +DEPRECATED void tas5706a_setVolume_2(Tas5706aCh ch, tas5706a_vol_t vol); +DEPRECATED void tas5706a_setLowPower_1(bool val); +DEPRECATED void tas5706a_init_0(void); +#endif /* !CONFIG_I2C_DISABLE_OLD_API */ #endif /* DRV_TAS5706A_H */