Pulse Density Modulation (PDM) peripheral driver.
More...
|
enum | nrfx_pdm_error_t {
NRFX_PDM_NO_ERROR = 0,
NRFX_PDM_ERROR_OVERFLOW = 1
} |
| PDM error type.
|
|
Pulse Density Modulation (PDM) peripheral driver.
#define NRFX_PDM_DEFAULT_CONFIG |
( |
|
_pin_clk, |
|
|
|
_pin_din |
|
) |
| |
Value:{ \
.pin_clk = _pin_clk, \
.pin_din = _pin_din, \
.gain_l = NRF_PDM_GAIN_DEFAULT, \
.gain_r = NRF_PDM_GAIN_DEFAULT, \
}
Macro for setting nrfx_pdm_config_t to default settings in single ended mode.
- Parameters
-
_pin_clk | CLK output pin. |
_pin_din | DIN input pin. |
typedef void(* nrfx_pdm_event_handler_t)(nrfx_pdm_evt_t const *const p_evt) |
Handler for PDM interface ready events.
This event handler is called on a buffer request, an error or when a buffer is full and ready to be processed.
- Parameters
-
[in] | p_evt | Pointer to the PDM event structure. |
nrfx_err_t nrfx_pdm_buffer_set |
( |
int16_t * |
buffer, |
|
|
uint16_t |
buffer_length |
|
) |
| |
Function for supplying the sample buffer.
Call this function after every buffer request event.
- Parameters
-
[in] | buffer | Pointer to the receive buffer. Cannot be NULL. |
[in] | buffer_length | Length of the receive buffer in 16-bit words. |
- Return values
-
NRFX_SUCCESS | If the buffer was applied successfully. |
NRFX_ERROR_BUSY | If the buffer was already supplied or the peripheral is currently being stopped. |
NRFX_ERROR_INVALID_STATE | If the driver was not initialized. |
NRFX_ERROR_INVALID_PARAM | If invalid parameters were provided. |
__STATIC_INLINE bool nrfx_pdm_enable_check |
( |
void |
| ) |
|
Function for getting the state of the PDM interface.
- Return values
-
true | If the PDM interface is enabled. |
false | If the PDM interface is disabled. |
Function for initializing the PDM interface.
- Parameters
-
[in] | p_config | Pointer to the structure with initial configuration. |
[in] | event_handler | Event handler provided by the user. Cannot be NULL. |
- Return values
-
NRFX_SUCCESS | If initialization was successful. |
NRFX_ERROR_INVALID_STATE | If the driver is already initialized. |
NRFX_ERROR_INVALID_PARAM | If invalid configuration was specified. |
Function for starting PDM sampling.
- Return values
-
NRFX_SUCCESS | If sampling was started successfully or was already in progress. |
NRFX_ERROR_BUSY | If a previous start/stop operation is in progress. |
Function for stopping PDM sampling.
When this function is called, the PDM interface is stopped after finishing the current frame. The event handler function might be called once more after calling this function.
- Return values
-
NRFX_SUCCESS | If sampling was stopped successfully or was already stopped before. |
NRFX_ERROR_BUSY | If a previous start/stop operation is in progress. |
__STATIC_INLINE uint32_t nrfx_pdm_task_address_get |
( |
nrf_pdm_task_t |
task | ) |
|
Function for getting the address of a PDM interface task.
- Parameters
-
- Returns
- Task address.
void nrfx_pdm_uninit |
( |
void |
| ) |
|
Function for uninitializing the PDM interface.
This function stops PDM sampling, if it is in progress.