38 #include "drv_digital_out.h" 39 #include "drv_digital_in.h" 40 #include "drv_i2c_master.h" 52 #define EVC_MAP_MIKROBUS( cfg, mikrobus ) \ 53 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \ 54 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ) 61 #define EVC_RETVAL uint8_t 64 #define EVC_INIT_ERROR 0xFF 71 #define EVC_SET_VOLUME_1dB 0x11 72 #define EVC_SET_VOLUME_10dB 0x01 73 #define EVC_SET_VOLUME_20dB 0x02 74 #define EVC_SET_VOLUME_2dB 0x12 75 #define EVC_SET_VOLUME_30dB 0x03 76 #define EVC_SET_VOLUME_3dB 0x13 77 #define EVC_SET_VOLUME_40dB 0x04 78 #define EVC_SET_VOLUME_4dB 0x14 79 #define EVC_SET_VOLUME_50dB 0x05 80 #define EVC_SET_VOLUME_5dB 0x15 81 #define EVC_SET_VOLUME_60dB 0x06 82 #define EVC_SET_VOLUME_6dB 0x16 83 #define EVC_SET_VOLUME_70dB 0x07 84 #define EVC_SET_VOLUME_7dB 0x17 85 #define EVC_SET_VOLUME_0dB 0x00 86 #define EVC_SET_VOLUME_8dB 0x18 87 #define EVC_SET_VOLUME_9dB 0x19 94 #define EVC_CHANNEL_1 0x80 95 #define EVC_CHANNEL_2 0x40 96 #define EVC_CHANNEL_3 0x00 97 #define EVC_CHANNEL_4 0x20 98 #define EVC_CHANNEL_5 0x60 99 #define EVC_CHANNEL_6 0xA0 100 #define EVC_ALL_CHANNEL 0xC0 107 #define EVC_ALL_CHANNEL_MUTE 0xF9 108 #define EVC_ALL_CHANNEL_UNMUTE 0xF8 115 #define EVC_CLEAR_ALL 0xC0 122 #define EVC_DEVICE_SLAVE_ADDRESS_01 0x42 123 #define EVC_DEVICE_SLAVE_ADDRESS_00 0x40 124 #define EVC_DEVICE_SLAVE_ADDRESS_10 0x44 125 #define EVC_DEVICE_SLAVE_ADDRESS_11 0x46 uint8_t i2c_address
Definition: evc.h:168
uint8_t cfg_channel
Definition: evc.h:172
i2c_master_t i2c
Definition: evc.h:142
pin_name_t scl
Definition: evc.h:162
void evc_mute(evc_t *ctx, uint8_t mute)
Mute and Unmute.
uint8_t channel
Definition: evc.h:150
int8_t cfg_volume
Definition: evc.h:171
void evc_generic_write(evc_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic write function.
pin_name_t sda
Definition: evc.h:163
void evc_generic_read(evc_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic read function.
void evc_set_volume_part(evc_t *ctx, uint8_t channel, uint8_t volume1, uint8_t volume2)
Set volume for the channel.
void evc_set_volume_full(evc_t *ctx, uint8_t channel, int8_t volume)
Set volume for the channel.
#define EVC_RETVAL
Definition: evc.h:61
void evc_clear(evc_t *ctx)
Clear register.
Click configuration structure definition.
Definition: evc.h:158
Click ctx object definition.
Definition: evc.h:138
uint8_t slave_address
Definition: evc.h:146
void evc_cfg_setup(evc_cfg_t *cfg)
Config Object Initialization function.
void mute(evc_t *ctx)
Definition: main.c:84
uint8_t play_flag
Definition: evc.h:148
void evc_default_cfg(evc_t *ctx)
Click Default Configuration function.
uint8_t test_flag
Definition: evc.h:151
uint32_t i2c_speed
Definition: evc.h:167
int8_t volume
Definition: evc.h:149
uint8_t test_cfg_flag
Definition: evc.h:173
uint8_t mute_cfg_flag
Definition: evc.h:169
uint8_t play_cfg_flag
Definition: evc.h:170
EVC_RETVAL evc_init(evc_t *ctx, evc_cfg_t *cfg)
Initialization function.
uint8_t mute_flag
Definition: evc.h:147