2016-09-05 00:27:44 +02:00
|
|
|
|
|
|
|
|
extern void I2CWrite(int addr, uint8_t d0, uint8_t d1);
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
int target_level;
|
|
|
|
|
int gain_hysteresis;
|
|
|
|
|
int attack;
|
|
|
|
|
int attack_scale;
|
|
|
|
|
int decay;
|
|
|
|
|
int decay_scale;
|
|
|
|
|
} tlv320aic3204_agc_config_t;
|
|
|
|
|
|
|
|
|
|
extern void tlv320aic3204_init(void);
|
|
|
|
|
extern void tlv320aic3204_set_gain(int lgain, int rgain);
|
|
|
|
|
extern void tlv320aic3204_set_digital_gain(int gain);
|
|
|
|
|
extern void tlv320aic3204_set_volume(int gain);
|
|
|
|
|
extern void tlv320aic3204_agc_config(tlv320aic3204_agc_config_t *conf);
|
2016-09-05 01:33:05 +02:00
|
|
|
extern void tlv320aic3204_select_in1(void);
|
|
|
|
|
extern void tlv320aic3204_select_in3(void);
|
2016-09-05 00:27:44 +02:00
|
|
|
|
|
|
|
|
extern void ui_init(void);
|
|
|
|
|
extern void ui_process(void);
|
|
|
|
|
|
|
|
|
|
// 5ms @ 48kHz
|
|
|
|
|
#define AUDIO_BUFFER_LEN 480
|
|
|
|
|
|
|
|
|
|
extern int16_t rx_buffer[];
|
|
|
|
|
extern int16_t tx_buffer[];
|
|
|
|
|
|
2016-09-18 03:11:18 +02:00
|
|
|
#define STATE_LEN 32
|
|
|
|
|
#define SAMPLE_LEN 240
|
2016-09-05 00:27:44 +02:00
|
|
|
|
2016-09-18 03:11:18 +02:00
|
|
|
extern int16_t ref_state[];
|
|
|
|
|
extern int16_t ref_buf[];
|
|
|
|
|
extern int16_t refq_buf[];
|
|
|
|
|
extern int16_t samp_buf[];
|
|
|
|
|
|
|
|
|
|
void dsp_process(int16_t *src, size_t len);
|
2016-09-05 00:27:44 +02:00
|
|
|
|
2016-09-10 11:24:44 +02:00
|
|
|
void si5351_set_frequency_with_offset(int freq, int offset, uint8_t drive_strength);
|