UveosOnNation_VEGA_DataNonV.../DeviceData_InitCodec.c

73 lines
2.7 KiB
C

//
// Created by zemon on 28.07.2021.
//
#include "DeviceDataNonVolatilePrivate.h"
/////////////////////////////////////// INTERFACE ///////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
//MAX9860_ClocksState MAX9860_INIT_CLOCK = {
// .MCLK_TO_PCLK_Prescaler=MAX9860_ICM_PCLK_IS_12MHZ,
// .IntegerClockMode=MAX9860_ICM_NORMAL,
// .EXACTLY_16KHZ=false,
// .PLL_Enable=false,
// .LRCLK_Driver=0x1062,
//};
//MAX9860_AudioInterfaceState MAX9860_INIT_AUDIO_INTERFACE = {
// .MasterMode = false,
// .LRCLK_Invert = true,
// .DAC_BCLK_Invert = false,
// .DAC_DelayMode = false,
// .SDOUT_HighImpedanceMode = false,
// .TDM_ModeSelect = false,
// .ADC_BCLK_Invert = false,
// .ADC_Delay_Mode= false,
// .StereoEnable= false,
// .BCLK_Select= 0x00,
//};
//
//MAX9860_PowerManagementState MAX9860_INIT_POWER = {
// .FullPowerOn=true,
// .DAC_Enabled=true,
// .ADC_EnabledLeft=true,
// .ADC_EnabledRight=false,
//};
/////////////////////////////// AUDIO SETTINGS ////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
MAX9860_DigitalFiltersState MAX9860_INIT_FILTERS = {
.ADC_DigitalFilter = MAX9860_DIGITAL_FILTER_BUTTERWORTH_16KHZ,
.DAC_DigitalFilter = MAX9860_DIGITAL_FILTER_DISABLED,
};
MAX9860_DigitalLevelControlState MAX9860_INIT_CONTROLS = {
.DAC_LevelAdjust = MAX9860_DAC_LEVEL_ADJUST__DB(+3),
.ADC_OutputLevelRight = MAX9860_ADC_OUTPUT_LEVEL__DB(-12),
.ADC_OutputLevelLeft = MAX9860_ADC_OUTPUT_LEVEL__DB(-12),
.DAC_Gain = MAX9860_DAC_GAIN__PLUS_18DB,
.Sidetone = MAX9860_SIDETONE_DISABLED,
};
MAX9860_MicrophoneInputState MAX9860_INIT_MIC_INPUT = {
.MicrophonePreampGain = MAX9860_MIC_PREAMP_GAIN__0,
.MicrophoneProgrammableGain = MAX9860_MIC_PROGRAMMABLE_GAIN_PLUS_DB(0),
};
MAX9860_AutomaticGainControlAndNoiseGateState MAX9860_INIT_NOISE_GATE_AND_AUTO_GAIN = {
.NoiseGateSource = MAX9860_NOISE_GATE_SOURCE_LEFT_ONLY,
.ReleaseTime = MAX9860_AUTOMATIC_GAIN_CONTROL_RELEASE_TIME_78_MS,
.AttackTime = MAX9860_AUTOMATIC_GAIN_CONTROL_ATTACK_TIME_3_MS,
.HoldTime = MAX9860_AUTOMATIC_GAIN_CONTROL_DISABLED,
.NoiseGateThreshold = 0x0,
.AutomaticGainControlThreshold = 0x0,
};
void DeviceStorageInitCodec(MAX9860_ComplexAudioConfig *audioConfig) {
audioConfig->filters = MAX9860_INIT_FILTERS;
audioConfig->levelControl = MAX9860_INIT_CONTROLS;
audioConfig->microphoneGains = MAX9860_INIT_MIC_INPUT;
audioConfig->autoGainAndNoiseGate = MAX9860_INIT_NOISE_GATE_AND_AUTO_GAIN;
}