Go to the documentation of this file.
38 #include "drv_digital_out.h"
39 #include "drv_i2c_master.h"
51 #define C2X20WAMP_MAP_MIKROBUS( cfg, mikrobus ) \
52 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
53 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
54 cfg.shdn = MIKROBUS( mikrobus, MIKROBUS_RST ); \
55 cfg.mute = MIKROBUS( mikrobus, MIKROBUS_CS ); \
56 cfg.addr1 = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
57 cfg.addr2 = MIKROBUS( mikrobus, MIKROBUS_INT );
64 #define C2X20WAMP_RETVAL int8_t
66 #define C2X20WAMP_OK 0
67 #define C2X20WAMP_INIT_ERROR (-1)
74 #define C2X20WAMP_I2C_ADDRESS 0x48
81 #define C2X20WAMP_ADDRESS_1 0x01
82 #define C2X20WAMP_ADDRESS_2 0x02
89 #define C2X20WAMP_6_BIT_VALUE 0x3F
90 #define C2X20WAMP_CMD_VOLUME_UP 0xC4
91 #define C2X20WAMP_CMD_VOLUME_DOWN 0xC5
92 #define C2X20WAMP_CMD_FILTERLESS_MODULATION 0x40
93 #define C2X20WAMP_CMD_CLASSIC_PWM_MODULATION 0x41
100 #define C2X20WAMP_6_BIT_VALUE 0x3F
301 #endif // C2X20WAMP_H
void c2x20wamp_classic_pwm_modulation(c2x20wamp_t *ctx)
Set classic PWM output modulation function.
void c2x20wamp_set_volume(c2x20wamp_t *ctx, uint8_t volume)
Set volume of the amplifier function.
void c2x20wamp_generic_write(c2x20wamp_t *ctx, uint8_t data_buf)
Generic write function.
void c2x20wamp_volume_up(c2x20wamp_t *ctx)
Increase the volume by one level function.
C2X20WAMP_RETVAL c2x20wamp_init(c2x20wamp_t *ctx, c2x20wamp_cfg_t *cfg)
Initialization function.
void c2x20wamp_mode_mute(c2x20wamp_t *ctx)
Set Mute mode of the amplifier function.
Click configuration structure definition.
Definition: c2x20wamp.h:139
Click ctx object definition.
Definition: c2x20wamp.h:114
pin_name_t shdn
Definition: c2x20wamp.h:147
void c2x20wamp_enable(c2x20wamp_t *ctx)
Enable the amplifier function.
pin_name_t scl
Definition: c2x20wamp.h:142
uint32_t i2c_speed
Definition: c2x20wamp.h:154
uint8_t i2c_address
Definition: c2x20wamp.h:155
uint8_t slave_address
Definition: c2x20wamp.h:131
#define C2X20WAMP_RETVAL
Definition: c2x20wamp.h:64
pin_name_t mute
Definition: c2x20wamp.h:148
i2c_master_t i2c
Definition: c2x20wamp.h:127
pin_name_t sda
Definition: c2x20wamp.h:143
void c2x20wamp_filterless_modulation(c2x20wamp_t *ctx)
Set filterless output modulation function.
void c2x20wamp_volume_down(c2x20wamp_t *ctx)
Decrease the volume by one level function.
digital_out_t addr1
Definition: c2x20wamp.h:122
digital_out_t shdn
Definition: c2x20wamp.h:117
digital_out_t addr2
Definition: c2x20wamp.h:123
void c2x20wamp_mode_play(c2x20wamp_t *ctx)
Set Play mode of the amplifier function.
void c2x20wamp_disable(c2x20wamp_t *ctx)
Disable the amplifier function.
digital_out_t mute
Definition: c2x20wamp.h:118
pin_name_t addr1
Definition: c2x20wamp.h:149
pin_name_t addr2
Definition: c2x20wamp.h:150
void c2x20wamp_cfg_setup(c2x20wamp_cfg_t *cfg)
Config Object Initialization function.