BiVo EFM32GG12  0.1
An open source foundation foundation for remote monitoring of bird vocalizations.
mic_drv.c File Reference

Microphone Driver. More...

#include "mic_drv.h"

Functions

void PDM_IRQHandler (void)
 PDM Interrupt Handler. When the FIFO is full, takes the samples out and puts them into the buffer. When the buffer is filled, stops recording and resets the recording flag.
 
void initPdmMic (struct MicConfig config)
 Initializes the board's PDM peripheral.
 
enum Mic_Ecode startRecording (int16_t *buffer, uint32_t size)
 Single-shot record an audio segment. Sets pointers for sampling into, sets the recording flag, and starts recording into the buffer.
 
enum Mic_Ecode stopRecording (void)
 Terminates the recording. Stops recording and resets the recording flag.
 
bool isRecording (void)
 Gets the status of recording. Getter for the recording flag. Should be called to check if the recording is complete.
 
void micDriver_init (struct MicConfig config)
 Initialize the microphone driver. More...
 

Detailed Description

Microphone Driver.

This code is adapted in part from the pdm_sterio_ldma peripheral example by Silicon Labs. https://github.com/SiliconLabs/peripheral_examples/tree/master/series2/pdm/pdm_stereo_interrupt.

Authors
Kevin Imlay
Date
3-19-21

Function Documentation

◆ micDriver_init()

void micDriver_init ( struct MicConfig  config)

Initialize the microphone driver.

Function Prototypes