// // 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; }