|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
EK-RA8D2 SPH0690 PDM microphone routing and filter policy. More...
#include <stdint.h>#include "ra8_board_ek_ra8d2.h"#include "ra8_pdm.h"#include "ra8_port_constants.h"#include "ra8_port_utils.h"Go to the source code of this file.
Enumerations | |
| enum | ra8_board_pdm_rate_t : uint32_t { k_board_pdm_sample_rate_hz = 16000U } |
| enum | ra8_board_pdm_width_t : uint8_t { k_board_pdm_valid_bits = 20U } |
Functions | |
| ra8_err_t | ra8_board_pdm_mic_route (void) |
| Route P812/P502 to PDMCLK2/PDMDAT2. | |
| ra8_err_t | ra8_board_pdm_mic_get_config (ra8_board_pdm_mic_t microphone, ra8_board_pdm_mic_config_t *out_config) |
| Return the validated SPH0690 filter policy for one board microphone. | |
Variables | |
| static const ra8_port_pin_t | s_board_pdm_pin_clk = ((ra8_port_pin_t)(((uint16_t)(k_ra8_port_8) << 8) | (uint16_t)(k_ra8_pin_12))) |
| static const ra8_port_pin_t | s_board_pdm_pin_dat = ((ra8_port_pin_t)(((uint16_t)(k_ra8_port_5) << 8) | (uint16_t)(k_ra8_pin_2))) |
| static const ra8_pdm_channel_cfg_t | s_board_pdm_sph0690 |
EK-RA8D2 SPH0690 PDM microphone routing and filter policy.
Encodes the board's microphone clock/data pins and validated PDM filter defaults, then delegates peripheral setup to the PDM HAL.
Definition in file ra8_board_ek_ra8d2_pdm.c.
| enum ra8_board_pdm_rate_t : uint32_t |
| Enumerator | |
|---|---|
| k_board_pdm_sample_rate_hz | Decimated SPH0690 sample rate. |
Definition at line 23 of file ra8_board_ek_ra8d2_pdm.c.
| enum ra8_board_pdm_width_t : uint8_t |
| Enumerator | |
|---|---|
| k_board_pdm_valid_bits | PDM-IF signed PCM payload width. |
Definition at line 27 of file ra8_board_ek_ra8d2_pdm.c.
|
nodiscard |
Return the validated SPH0690 filter policy for one board microphone.
| [in] | microphone | MIC1 or MIC2 selector. |
| [out] | out_config | Receives channel, rate, width, and HAL coefficients. |
| k_ra8_ok | Configuration returned. |
| k_ra8_err_null_ptr | out_config was nullptr. |
| k_ra8_err_invalid_arg | microphone is out of range. |
Definition at line 77 of file ra8_board_ek_ra8d2_pdm.c.
References ra8_pdm_channel_cfg_t::edge, k_board_pdm_sample_rate_hz, k_board_pdm_valid_bits, k_ra8_board_pdm_mic1, k_ra8_board_pdm_mic_count, k_ra8_err_invalid_arg, k_ra8_err_null_ptr, k_ra8_ok, k_ra8_pdm_ch2, ra8_board_pdm_mic_config_t::pdm, and s_board_pdm_sph0690.
Referenced by c6_cam_audio_start(), and pdm_demo_pdm_or_halt().
|
nodiscard |
Route P812/P502 to PDMCLK2/PDMDAT2.
| k_ra8_ok | Both microphone pins were routed. |
| k_ra8_err_gpio_conflict | A pin is already claimed. |
| other | Propagated pin-routing error. |
Definition at line 67 of file ra8_board_ek_ra8d2_pdm.c.
References k_ra8_ok, k_ra8_psel_pdm, ra8_pfs_route_peripheral(), s_board_pdm_pin_clk, and s_board_pdm_pin_dat.
Referenced by c6_cam_audio_start(), and pdm_demo_io_or_halt().
|
static |
Definition at line 31 of file ra8_board_ek_ra8d2_pdm.c.
Referenced by ra8_board_pdm_mic_route().
|
static |
Definition at line 32 of file ra8_board_ek_ra8d2_pdm.c.
Referenced by ra8_board_pdm_mic_route().
|
static |
Definition at line 35 of file ra8_board_ek_ra8d2_pdm.c.
Referenced by ra8_board_pdm_mic_get_config().