6#ifndef PICO_DRIVER_SRC_I2S_DUPLEXSLAVEI2S_HPP_
7#define PICO_DRIVER_SRC_I2S_DUPLEXSLAVEI2S_HPP_
8#if __has_include(<hardware/pio.h>) || __has_include(<gmock/gmock.h>) || DOXYGEN_COMPILE
10#if __has_include(<hardware/pio.h>)
11#include "hardware/pio.h"
14#define i2s_slave_duplex_program_get_default_config(config) 1
18#if __has_include(<gmock/gmock.h>)
19#include <gmock/gmock.h>
182#if __has_include(<gmock/gmock.h>) || DOXYGEN_COMPILE
192 MOCK_METHOD0(
Start,
void(
void));
193 MOCK_METHOD0(
Stop,
void(
void));
Duplex Slave I2S controller class.
Definition: i2sslaveduplex.hpp:93
virtual void PutFifoBlocking(int32_t value)
Put one audio data to TX FIFO.
virtual int32_t GetFifoBlocking()
Get one audio data from RX FIFO.
I2sSlaveDuplex(::rpp_driver::SdkWrapper &sdk, PIO pio, uint32_t sm, uint pin_base)
Construct a new Duplex Slave I2S object.
I2sSlaveDuplex(::rpp_driver::SdkWrapper &sdk, PIO pio, uint pin_base)
Construct a new Duplex Slave I2S object.
virtual void Start()
Initialize the I2S port, and run.
virtual void Stop()
Stop the I2S port and disable the PIO state machine in use.
virtual uint32_t GetStateMachine()
Get the State Machine object.
~I2sSlaveDuplex()
Unclaim the state machine. No actual processing.
Mock class for test.
Definition: i2sslaveduplex.hpp:187
Wrapper class for the RasPi Pico SDK functions.
Definition: sdkwrapper.hpp:74
Collection of the RP2040/RP2350 control.
Definition: adau1361.hpp:17
Wrapper for RasPi Pico SDK API.