37#ifndef DRIVER_WM8978_BASIC_H
38#define DRIVER_WM8978_BASIC_H
56#define WM8978_BASIC_DEFAULT_DC_BUFFER WM8978_BOOL_FALSE
57#define WM8978_BASIC_DEFAULT_OUT4_MIXER WM8978_BOOL_FALSE
58#define WM8978_BASIC_DEFAULT_OUT3_MIXER WM8978_BOOL_FALSE
59#define WM8978_BASIC_DEFAULT_PLL WM8978_BOOL_FALSE
60#define WM8978_BASIC_DEFAULT_MICROPHONE_BIAS WM8978_BOOL_TRUE
61#define WM8978_BASIC_DEFAULT_UNUSED_INPUT_OUTPUT_TIE_OFF_BUFFER WM8978_BOOL_FALSE
62#define WM8978_BASIC_DEFAULT_ANALOGUE_AMPLIFIER_BIAS WM8978_BOOL_TRUE
63#define WM8978_BASIC_DEFAULT_REFERENCE_IMPEDANCE WM8978_IMPEDANCE_5K
64#define WM8978_BASIC_DEFAULT_OUT4 WM8978_BOOL_FALSE
65#define WM8978_BASIC_DEFAULT_OUT3 WM8978_BOOL_FALSE
66#define WM8978_BASIC_DEFAULT_BCLK_POLARITY WM8978_POLARITY_NORMAL
67#define WM8978_BASIC_DEFAULT_LRCLK_POLARITY WM8978_POLARITY_NORMAL
68#define WM8978_BASIC_DEFAULT_DAC_APPEAR WM8978_APPEAR_LEFT
69#define WM8978_BASIC_DEFAULT_ADC_APPEAR WM8978_APPEAR_LEFT
70#define WM8978_BASIC_DEFAULT_COMPANDING_8BIT_MODE WM8978_BOOL_FALSE
71#define WM8978_BASIC_DEFAULT_DATA_FORMAT WM8978_DATA_FORMAT_IIS
72#define WM8978_BASIC_DEFAULT_LOOP_BACK WM8978_BOOL_FALSE
73#define WM8978_BASIC_DEFAULT_CLKSEL WM8978_CLKSEL_MCLK
74#define WM8978_BASIC_DEFAULT_MCLK_DIV WM8978_MCLK_DIV_BY_1
75#define WM8978_BASIC_DEFAULT_BCLK_DIV WM8978_BCLK_DIV_BY_1
76#define WM8978_BASIC_DEFAULT_CLOCK_MODE WM8978_CLOCK_MODE_INPUT
77#define WM8978_BASIC_DEFAULT_APPROXIMATE_SAMPLE WM8978_APPROXIMATE_SAMPLE_48_KHZ
78#define WM8978_BASIC_DEFAULT_SLOW_CLOCK WM8978_BOOL_FALSE
79#define WM8978_BASIC_DEFAULT_PLL_DIV WM8978_PLL_DIV_BY_1
80#define WM8978_BASIC_DEFAULT_GPIO1_POLARITY WM8978_POLARITY_NORMAL
81#define WM8978_BASIC_DEFAULT_GPIO1_SELECT WM8978_GPIO1_SEL_INPUT
82#define WM8978_BASIC_DEFAULT_VMID_1 WM8978_BOOL_TRUE
83#define WM8978_BASIC_DEFAULT_VMID_0 WM8978_BOOL_TRUE
84#define WM8978_BASIC_DEFAULT_JACK_DETECTION WM8978_BOOL_FALSE
85#define WM8978_BASIC_DEFAULT_JACK_GPIO WM8978_JACK_SEL_GPIO2
86#define WM8978_BASIC_DEFAULT_SOFT_MUTE WM8978_BOOL_FALSE
87#define WM8978_BASIC_DEFAULT_DAC_OVERSAMPLE_RATE WM8978_DAC_OVERSAMPLE_RATE_128X
88#define WM8978_BASIC_DEFAULT_AMUTE WM8978_BOOL_FALSE
89#define WM8978_BASIC_DEFAULT_RIGHT_DAC_OUTPUT_POLARITY WM8978_POLARITY_NORMAL
90#define WM8978_BASIC_DEFAULT_LEFT_DAC_OUTPUT_POLARITY WM8978_POLARITY_NORMAL
91#define WM8978_BASIC_DEFAULT_DAC_VOLUME -10
92#define WM8978_BASIC_DEFAULT_JACK_LOGIC_0_OUT1 WM8978_BOOL_FALSE
93#define WM8978_BASIC_DEFAULT_JACK_LOGIC_1_OUT1 WM8978_BOOL_TRUE
94#define WM8978_BASIC_DEFAULT_JACK_LOGIC_0_OUT2 WM8978_BOOL_TRUE
95#define WM8978_BASIC_DEFAULT_JACK_LOGIC_1_OUT2 WM8978_BOOL_FALSE
96#define WM8978_BASIC_DEFAULT_JACK_LOGIC_0_OUT3 WM8978_BOOL_FALSE
97#define WM8978_BASIC_DEFAULT_JACK_LOGIC_0_OUT4 WM8978_BOOL_FALSE
98#define WM8978_BASIC_DEFAULT_JACK_LOGIC_1_OUT3 WM8978_BOOL_FALSE
99#define WM8978_BASIC_DEFAULT_JACK_LOGIC_1_OUT4 WM8978_BOOL_FALSE
100#define WM8978_BASIC_DEFAULT_HIGH_PASS_FILTER WM8978_BOOL_FALSE
101#define WM8978_BASIC_DEFAULT_MODE WM8978_MODE_AUDIO
102#define WM8978_BASIC_DEFAULT_HIGH_PASS_FILTER_CUT_OFF WM8978_HIGH_PASS_FILTER_CUT_OFF_0
103#define WM8978_BASIC_DEFAULT_ADC_OVERSAMPLE_RATE WM8978_ADC_OVERSAMPLE_RATE_128X
104#define WM8978_BASIC_DEFAULT_ADC_RIGHT_CHANNEL_POLARITY WM8978_POLARITY_NORMAL
105#define WM8978_BASIC_DEFAULT_ADC_LEFT_CHANNEL_POLARITY WM8978_POLARITY_NORMAL
106#define WM8978_BASIC_DEFAULT_ADC_VOLUME -10
107#define WM8978_BASIC_DEFAULT_EQUALISER_APPLY WM8978_EQUALISER_APPLIED_TO_DAC
108#define WM8978_BASIC_DEFAULT_EQ1_BAND_CUT_OFF WM8978_EQ1_BAND_CUT_OFF_80HZ
109#define WM8978_BASIC_DEFAULT_EQ1_GAIN 0
110#define WM8978_BASIC_DEFAULT_EQ2_BANDWIDTH WM8978_EQ_BANDWIDTH_WIDE
111#define WM8978_BASIC_DEFAULT_EQ2_BAND_CENTRE_FREQ WM8978_EQ2_BAND_CENTRE_FREQ_385HZ
112#define WM8978_BASIC_DEFAULT_EQ2_GAIN 0
113#define WM8978_BASIC_DEFAULT_EQ3_BANDWIDTH WM8978_EQ_BANDWIDTH_WIDE
114#define WM8978_BASIC_DEFAULT_EQ3_BAND_CENTRE_FREQ WM8978_EQ3_BAND_CENTRE_FREQ_1100HZ
115#define WM8978_BASIC_DEFAULT_EQ3_GAIN 0
116#define WM8978_BASIC_DEFAULT_EQ4_BANDWIDTH WM8978_EQ_BANDWIDTH_WIDE
117#define WM8978_BASIC_DEFAULT_EQ4_BAND_CENTRE_FREQ WM8978_EQ4_BAND_CENTRE_FREQ_3200HZ
118#define WM8978_BASIC_DEFAULT_EQ4_GAIN 0
119#define WM8978_BASIC_DEFAULT_EQ5_BAND_CUT_OFF WM8978_EQ5_BAND_CUT_OFF_11700HZ
120#define WM8978_BASIC_DEFAULT_EQ5_GAIN 0
121#define WM8978_BASIC_DEFAULT_DAC_DIGITAL_LIMITER WM8978_BOOL_TRUE
122#define WM8978_BASIC_DEFAULT_DAC_LIMITER_DECAY WM8978_DAC_LIMITER_DECAY_192MS
123#define WM8978_BASIC_DEFAULT_DAC_LIMITER_ATTACK WM8978_DAC_LIMITER_ATTACK_12MS
124#define WM8978_BASIC_DEFAULT_DAC_LIMITER_LEVEL WM8978_DAC_LIMITER_LEVEL_NEGATIVE_1DB
125#define WM8978_BASIC_DEFAULT_DAC_LIMITER_VOLUME_BOOST 12
126#define WM8978_BASIC_DEFAULT_NOTCH_FILTER WM8978_BOOL_FALSE
127#define WM8978_BASIC_DEFAULT_NOTCH_FILTER_A0_BIT_13_7 0x00
128#define WM8978_BASIC_DEFAULT_NOTCH_FILTER_A0_BIT_16_0 0x00
129#define WM8978_BASIC_DEFAULT_NOTCH_FILTER_A1_BIT_13_7 0x00
130#define WM8978_BASIC_DEFAULT_NOTCH_FILTER_A1_BIT_16_0 0x00
131#define WM8978_BASIC_DEFAULT_ALC WM8978_ALC_BOTH
132#define WM8978_BASIC_DEFAULT_ALC_MAX_GAIN WM8978_MAX_GAIN_35P25_DB
133#define WM8978_BASIC_DEFAULT_ALC_MIN_GAIN WM8978_MIN_GAIN_NEGATIVE_12_DB
134#define WM8978_BASIC_DEFAULT_ALC_HOLD_TIME 12.0f
135#define WM8978_BASIC_DEFAULT_ALC_LEVEL WM8978_ALC_LEVEL_NEGATIVE_3
136#define WM8978_BASIC_DEFAULT_ALC_MODE WM8978_ALC_MODE_ALC
137#define WM8978_BASIC_DEFAULT_ALC_DECAY 0x00
138#define WM8978_BASIC_DEFAULT_ALC_ATTACK 0x00
139#define WM8978_BASIC_DEFAULT_ALC_NOISE_GATE WM8978_BOOL_TRUE
140#define WM8978_BASIC_DEFAULT_ALC_NOISE_GATE_THRESHOLD -39
141#define WM8978_BASIC_DEFAULT_MCLK_DIVIDE_BY_2 WM8978_BOOL_FALSE
142#define WM8978_BASIC_DEFAULT_PLLN 0x00
143#define WM8978_BASIC_DEFAULT_PLL_FREQ 0x00000000
144#define WM8978_BASIC_DEFAULT_DEPTH_3D 0.00f
145#define WM8978_BASIC_DEFAULT_RIGHT_OUT1 WM8978_BOOL_TRUE
146#define WM8978_BASIC_DEFAULT_LEFT_OUT1 WM8978_BOOL_TRUE
147#define WM8978_BASIC_DEFAULT_RIGHT_CHANNEL_INPUT_BOOST WM8978_BOOL_TRUE
148#define WM8978_BASIC_DEFAULT_LEFT_CHANNEL_INPUT_BOOST WM8978_BOOL_TRUE
149#define WM8978_BASIC_DEFAULT_RIGHT_OUT2 WM8978_BOOL_TRUE
150#define WM8978_BASIC_DEFAULT_LEFT_OUT2 WM8978_BOOL_TRUE
151#define WM8978_BASIC_DEFAULT_RIGHT_OUTPUT_CHANNEL_MIXER WM8978_BOOL_TRUE
152#define WM8978_BASIC_DEFAULT_LEFT_OUTPUT_CHANNEL_MIXER WM8978_BOOL_TRUE
153#define WM8978_BASIC_DEFAULT_MUTE_INPUT_TO_INV_ROUT2_MIXER WM8978_BOOL_FALSE
154#define WM8978_BASIC_DEFAULT_INV_ROUT2_MIXER WM8978_BOOL_TRUE
155#define WM8978_BASIC_DEFAULT_BEEP_VOLUME -15
156#define WM8978_BASIC_DEFAULT_BEEP WM8978_BOOL_FALSE
157#define WM8978_BASIC_DEFAULT_MICROPHONE_BIAS_VOLTAGE WM8978_AVDD_0P9
158#define WM8978_BASIC_DEFAULT_RIGHT_CHANNEL_INPUT_PGA_POSITIVE WM8978_BOOL_FALSE
159#define WM8978_BASIC_DEFAULT_LEFT_CHANNEL_INPUT_PGA_POSITIVE WM8978_BOOL_FALSE
160#define WM8978_BASIC_DEFAULT_LEFT_DAC_OUTPUT_TO_RIGHT_OUTPUT_MIXER WM8978_BOOL_FALSE
161#define WM8978_BASIC_DEFAULT_RIGHT_DAC_OUTPUT_TO_LEFT_OUTPUT_MIXER WM8978_BOOL_FALSE
162#define WM8978_BASIC_DEFAULT_OUT4_BOOST WM8978_BOOL_FALSE
163#define WM8978_BASIC_DEFAULT_OUT3_BOOST WM8978_BOOL_FALSE
164#define WM8978_BASIC_DEFAULT_SPEAKER_BOOST WM8978_BOOL_TRUE
165#define WM8978_BASIC_DEFAULT_THERMAL_SHUTDOWN WM8978_BOOL_TRUE
166#define WM8978_BASIC_DEFAULT_VREF WM8978_VREF_1K
167#define WM8978_BASIC_DEFAULT_OUT3_MUTE WM8978_BOOL_TRUE
168#define WM8978_BASIC_DEFAULT_OUT4_MIXER_OUTPUT_TO_OUT3 WM8978_BOOL_FALSE
169#define WM8978_BASIC_DEFAULT_LEFT_ADC_INPUT_TO_OUT3 WM8978_BOOL_FALSE
170#define WM8978_BASIC_DEFAULT_LEFT_DAC_MIXER_TO_OUT3 WM8978_BOOL_FALSE
171#define WM8978_BASIC_DEFAULT_LEFT_DAC_OUTPUT_TO_OUT3 WM8978_BOOL_FALSE
172#define WM8978_BASIC_DEFAULT_OUT4_MUTE WM8978_BOOL_TRUE
173#define WM8978_BASIC_DEFAULT_OUT4_ATTENUATED_BY_6DB WM8978_BOOL_FALSE
174#define WM8978_BASIC_DEFAULT_LEFT_DAC_MIXER_TO_OUT4 WM8978_BOOL_FALSE
175#define WM8978_BASIC_DEFAULT_LEFT_DAC_TO_OUT4 WM8978_BOOL_FALSE
176#define WM8978_BASIC_DEFAULT_RIGHT_ADC_INPUT_TO_OUT4 WM8978_BOOL_FALSE
177#define WM8978_BASIC_DEFAULT_RIGHT_DAC_MIXER_TO_OUT4 WM8978_BOOL_FALSE
178#define WM8978_BASIC_DEFAULT_RIGHT_DAC_OUTPUT_TO_OUT4 WM8978_BOOL_FALSE
179#define WM8978_BASIC_DEFAULT_LEFT_CHANNEL_INPUT_BOOST_STATA 0
180#define WM8978_BASIC_DEFAULT_RIGHT_CHANNEL_INPUT_BOOST_STATA 0
181#define WM8978_BASIC_DEFAULT_LEFT_BYPASS_VOLUME_CONTROL_TO_OUTPUT_CHANNEL_MIXER 0
182#define WM8978_BASIC_DEFAULT_RIGHT_BYPASS_VOLUME_CONTROL_TO_OUTPUT_CHANNEL_MIXER 0
183#define WM8978_BASIC_DEFAULT_LEFT_CHANNEL_INPUT_PGA_VOLUME 0
184#define WM8978_BASIC_DEFAULT_RIGHT_CHANNEL_INPUT_PGA_VOLUME 0
185#define WM8978_BASIC_DEFAULT_LOUT2_LEFT_SPEAKER_OUTPUT_VOLUME 0
186#define WM8978_BASIC_DEFAULT_LOUT2_RIGHT_SPEAKER_OUTPUT_VOLUME 0
187#define WM8978_BASIC_DEFAULT_LOUT1_LEFT_HEADPHONE_OUTPUT_VOLUME 0
188#define WM8978_BASIC_DEFAULT_LOUT1_RIGHT_HEADPHONE_OUTPUT_VOLUME 0
driver wm8978 interface header file
wm8978_companding_t
wm8978 companding enumeration definition
wm8978_word_length_t
wm8978 word length enumeration definition
wm8978_channel_t
wm8978 channel enumeration definition
uint8_t wm8978_basic_set_dac_mute(void)
basic example set dac mute
uint8_t wm8978_basic_set_dac_volume(float db)
basic example set dac volume
uint8_t wm8978_basic_init(wm8978_basic_mode_t mode)
basic example init
wm8978_basic_mode_t
wm8978 basic mode enumeration definition
uint8_t wm8978_basic_config(wm8978_companding_t companding, wm8978_channel_t channel, wm8978_word_length_t length)
basic example config
uint8_t wm8978_basic_set_adc_volume(float db)
basic example set adc volume
uint8_t wm8978_basic_deinit(void)
basic example deinit
@ WM8978_BASIC_MODE_RECORD