Looking for sample code for audio record+playback through the MangOH codec WM8944


I’ve found code examples on the Legato website for recording audio from the microphone, and playing it back over the speaker, but these examples use the internal codec on the WP modules. Am I correct in my understanding that le_audio_OpenSpeaker and le_audio_OpenMic use the codec internal to the module?

I’m trying to use the audio path on the mangOH that goes over the I2S and to the external codec. I’ve tried a number of different things, but I’m not getting any audio in the speaker/headphones. My recorded audio file is the duration that I’ve specified, but I just get silence when I play it back.

I found a code example for voice calls on the mangOH, but it also seems to use the microphone and speaker going through the internal codec.

Are there any code samples available which use the WM8944 codec for routing audio to/from the speaker/mic?


Are you referring to I2S path over IoT card or to the Cirrus Logic codec on board?
Do you have any tips here?


Hi Ashish

We have quite a bit of confusion regarding the module that we are currently using for development (WP7504, with plans to migrate to the WP7603 once ready). The documentation seemed to suggest that this module had an internal codec, but I received info from Sierra Wireless support last night indicating that this module does NOT have an internal codec, but DOES have a Linux driver for an external codec (WM8944).

Our confusion centered around how to select the internal or external codec when using the mic and speaker. There was only one le_audio function for each (le_audio_OpenMic and le_audio_OpenSpeaker), so we were confused how this worked.

Now that we know our calls to OpenMic and OpenSpeaker are creating audio paths through the WM8944 external codec, I am more comfortable with this, as I now know that ALL of the code examples apply, instead of none apply as I previously thought.