Go to the documentation of this file.
106 #define WM8994_OK (0)
107 #define WM8994_ERROR (-1)
113 #define WM8994_IN_NONE 0x00U
114 #define WM8994_IN_MIC1 0x01U
115 #define WM8994_IN_MIC2 0x02U
116 #define WM8994_IN_LINE1 0x03U
117 #define WM8994_IN_LINE2 0x04U
118 #define WM8994_IN_MIC1_MIC2 0x05U
121 #define WM8994_OUT_NONE 0x00U
122 #define WM8994_OUT_SPEAKER 0x01U
123 #define WM8994_OUT_HEADPHONE 0x02U
124 #define WM8994_OUT_BOTH 0x03U
125 #define WM8994_OUT_AUTO 0x04U
128 #define WM8994_FREQUENCY_192K 192000
129 #define WM8994_FREQUENCY_176K 176400
130 #define WM8994_FREQUENCY_96K 96000
131 #define WM8994_FREQUENCY_88K 88200
132 #define WM8994_FREQUENCY_48K 48000
133 #define WM8994_FREQUENCY_44K 44100
134 #define WM8994_FREQUENCY_32K 32000
135 #define WM8994_FREQUENCY_22K 22050
136 #define WM8994_FREQUENCY_16K 16000
137 #define WM8994_FREQUENCY_11K 11025
138 #define WM8994_FREQUENCY_8K 8000
141 #define WM8994_RESOLUTION_16b 0x00U
142 #define WM8994_RESOLUTION_20b 0x01U
143 #define WM8994_RESOLUTION_24b 0x02U
144 #define WM8994_RESOLUTION_32b 0x03U
147 #define WM8994_PDWN_HW 0x00U
148 #define WM8994_PDWN_SW 0x01U
151 #define VOLUME_INPUT 0U
152 #define VOLUME_OUTPUT 1U
155 #define WM8994_MUTE_ON 1U
156 #define WM8994_MUTE_OFF 0U
159 #define WM8994_PROTOCOL_R_JUSTIFIED ((uint16_t)0x0000)
160 #define WM8994_PROTOCOL_L_JUSTIFIED ((uint16_t)0x0001)
161 #define WM8994_PROTOCOL_I2S ((uint16_t)0x0002)
162 #define WM8994_PROTOCOL_DSP ((uint16_t)0x0003)
164 #define VOLUME_OUT_INVERT(Volume) ((uint8_t)(((Volume) * 100) / 63))
165 #define VOLUME_IN_INVERT(Volume) ((uint8_t)(((Volume) * 100) / 239))
170 #define WM8994_ID 0x8994U
napi_value Init(napi_env env, napi_value exports)
int32_t WM8994_Reset(WM8994_Object_t *pObj)
Resets wm8994 registers.
int32_t WM8994_Resume(WM8994_Object_t *pObj)
Resumes playing on the audio codec.
WM8994_ReadReg_Func ReadReg
WM8994_GetTick_Func GetTick
int32_t WM8994_Stop(WM8994_Object_t *pObj, uint32_t CodecPdwnMode)
Stops audio Codec playing. It powers down the codec.
int32_t WM8994_DeInit(WM8994_Object_t *pObj)
Deinitializes the audio codec.
int32_t WM8994_SetFrequency(WM8994_Object_t *pObj, uint32_t AudioFreq)
Sets new frequency.
int32_t(* WM8994_Delay_Func)(uint32_t)
int32_t WM8994_SetMute(WM8994_Object_t *pObj, uint32_t Cmd)
Enables or disables the mute feature on the audio codec.
int32_t(* WM8994_DeInit_Func)(void)
int32_t WM8994_SetProtocol(WM8994_Object_t *pObj, uint32_t Protocol)
Set Audio Protocol.
int32_t(* WM8994_Init_Func)(void)
int32_t WM8994_GetVolume(WM8994_Object_t *pObj, uint32_t InputOutput, uint8_t *Volume)
Get higher or lower the codec volume level.
int32_t WM8994_Init(WM8994_Object_t *pObj, WM8994_Init_t *pInit)
Initializes the audio codec and the control interface.
WM8994_WriteReg_Func WriteReg
int32_t WM8994_SetResolution(WM8994_Object_t *pObj, uint32_t Resolution)
Set Audio resolution.
WM8994_DeInit_Func DeInit
int32_t WM8994_Pause(WM8994_Object_t *pObj)
Pauses playing on the audio codec.
int32_t WM8994_ReadID(WM8994_Object_t *pObj, uint32_t *Id)
Get the WM8994 ID.
int32_t(* WM8994_GetTick_Func)(void)
int32_t WM8994_SetOutputMode(WM8994_Object_t *pObj, uint32_t Output)
Switch dynamically (while audio file is played) the output target (speaker or headphone).
int32_t WM8994_SetVolume(WM8994_Object_t *pObj, uint32_t InputOutput, uint8_t Volume)
Set higher or lower the codec volume level.
int32_t WM8994_GetResolution(WM8994_Object_t *pObj, uint32_t *Resolution)
Get Audio resolution.
int32_t(* WM8994_ReadReg_Func)(uint16_t, uint16_t, uint8_t *, uint16_t)
int32_t(* WM8994_WriteReg_Func)(uint16_t, uint16_t, uint8_t *, uint16_t)
int32_t WM8994_RegisterBusIO(WM8994_Object_t *pObj, WM8994_IO_t *pIO)
Function.
WM8994_Drv_t WM8994_Driver
int32_t WM8994_GetProtocol(WM8994_Object_t *pObj, uint32_t *Protocol)
Get Audio Protocol.
int32_t WM8994_Play(WM8994_Object_t *pObj)
Start the audio Codec play feature.
int32_t WM8994_GetFrequency(WM8994_Object_t *pObj, uint32_t *AudioFreq)
Get frequency.