arduino-audio-driver
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DriverDeviceInfo Class Reference

All pins for i2s, spi, i2c and other pins. More...

#include <DriverDeviceInfo.h>

Inheritance diagram for DriverDeviceInfo:
IDriverDeviceInfo DriverTouchClass PinsAudioKitAC101Class PinsAudioKitEs8388v1Class PinsAudioKitEs8388v2Class PinsESP32S3AISmartSpeakerClass PinsLyrat42Class PinsLyrat43Class PinsLyratMiniClass PinsM5stackAtomEchoS3RClass PinsSTM32F411DiscoClass

Public Member Functions

 DriverDeviceInfo ()=default
 
 DriverDeviceInfo (const DriverDeviceInfo &)=delete
 
bool addI2C (InfoI2C pin)
 
bool addI2C (PinFunction function, GpioPin scl, GpioPin sda, int port=-1, uint32_t frequency=100000, i2c_bus_handle_t wire=DEFAULT_WIRE, bool active=true)
 
bool addI2S (InfoI2S pin)
 
bool addI2S (PinFunction function, GpioPin mclk, GpioPin bck, GpioPin ws, GpioPin data_out, GpioPin data_in=-1, int port=0)
 
bool addPin (InfoGPIO pin)
 
bool addPin (PinFunction function, GpioPin pinNo, PinLogic logic, int index=0)
 
bool addSPI (InfoSPI pin)
 
bool addSPI (PinFunction function, GpioPin clk, GpioPin miso, GpioPin mosi, GpioPin cs, SPIClass &spi)
 
virtual bool begin ()
 Sets up all pins e.g. by calling pinMode()
 
void end ()
 
API_GPIOgetGPIO ()
 
audio_driver_local::Optional< InfoI2CgetI2CPins (PinFunction function) override
 Finds the I2C pin info with the help of the function.
 
audio_driver_local::Optional< InfoI2SgetI2SPins (int port)
 Finds the I2S pin info with the help of the port.
 
audio_driver_local::Optional< InfoI2SgetI2SPins (PinFunction function=PinFunction::CODEC)
 Finds the I2S pin info with the help of the function.
 
audio_driver_local::Optional< InfoGPIOgetPin (GpioPin pinId)
 Get pin information by pin ID.
 
audio_driver_local::Optional< InfoGPIOgetPin (PinFunction function, int pos=0)
 Get pin information by function.
 
GpioPin getPinID (PinFunction function, int pos=0)
 
audio_driver_local::Optional< InfoSPIgetSPIPins (PinFunction function)
 Finds the SPI pin info with the help of the function.
 
bool hasPins ()
 Returns true if some function pins have been defined.
 
virtual bool isKeyPressed (uint8_t key)
 returns true if pressed
 
bool isSDMMCActive ()
 Check if SDMMC has been activated.
 
bool isSPIActiveForSD ()
 Check if SPI for SD should be started automatically.
 
DriverDeviceInfooperator= (const DriverDeviceInfo &)=delete
 
bool setI2C (InfoI2C pin)
 Updates the I2C pin information using the function as key.
 
bool setI2S (InfoI2S pin)
 Updates the I2S pin information using the function as key.
 
bool setPin (InfoGPIO updatedPin)
 Updates an existing pin information using the function and index as key.
 
bool setPinActive (int gpioPin, bool active)
 Updates an existing pin active flag for the indicated gpio.
 
bool setPinActive (PinFunction func, int idx, bool active)
 Updates an existing pin active flag for the indicated gpio.
 
void setSDMMCActive (bool active)
 Defines if SPI for SD should be started (by default true)
 
bool setSPI (InfoSPI pin)
 Updates the SPI pin information using the function as key.
 
void setSPIActiveForSD (bool active)
 Defines if SPI for SD should be started (by default true)
 

Protected Member Functions

template<typename T >
T * getPtr (PinFunction function, audio_driver_local::Vector< T > &vect)
 
bool hasConflict (int pin)
 
bool hasI2CConflict (int pin)
 
bool hasSPIConflict (int pin)
 
template<typename T >
bool set (T pin, audio_driver_local::Vector< T > &vect)
 
void setupPinMode ()
 

Protected Attributes

GPIOExt gpio
 
audio_driver_local::Vector< InfoI2Ci2c {0}
 
audio_driver_local::Vector< InfoI2Si2s {0}
 
audio_driver_local::Vector< InfoGPIOpins {0}
 
bool sd_active = false
 
bool sdmmc_active = false
 
audio_driver_local::Vector< InfoSPIspi {0}
 

Detailed Description

All pins for i2s, spi, i2c and other pins.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ DriverDeviceInfo() [1/2]

DriverDeviceInfo ( const DriverDeviceInfo )
delete

◆ DriverDeviceInfo() [2/2]

DriverDeviceInfo ( )
default

Member Function Documentation

◆ addI2C() [1/2]

bool addI2C ( InfoI2C  pin)
inline

◆ addI2C() [2/2]

bool addI2C ( PinFunction  function,
GpioPin  scl,
GpioPin  sda,
int  port = -1,
uint32_t  frequency = 100000,
i2c_bus_handle_t  wire = DEFAULT_WIRE,
bool  active = true 
)
inline

◆ addI2S() [1/2]

bool addI2S ( InfoI2S  pin)
inline

◆ addI2S() [2/2]

bool addI2S ( PinFunction  function,
GpioPin  mclk,
GpioPin  bck,
GpioPin  ws,
GpioPin  data_out,
GpioPin  data_in = -1,
int  port = 0 
)
inline

◆ addPin() [1/2]

bool addPin ( InfoGPIO  pin)
inline

◆ addPin() [2/2]

bool addPin ( PinFunction  function,
GpioPin  pinNo,
PinLogic  logic,
int  index = 0 
)
inline

◆ addSPI() [1/2]

bool addSPI ( InfoSPI  pin)
inline

◆ addSPI() [2/2]

bool addSPI ( PinFunction  function,
GpioPin  clk,
GpioPin  miso,
GpioPin  mosi,
GpioPin  cs,
SPIClass spi 
)
inline

◆ begin()

virtual bool begin ( )
inlinevirtual

Sets up all pins e.g. by calling pinMode()

Reimplemented in PinsESP32S3AISmartSpeakerClass.

◆ end()

void end ( )
inline

◆ getGPIO()

API_GPIO & getGPIO ( )
inline

◆ getI2CPins()

audio_driver_local::Optional< InfoI2C > getI2CPins ( PinFunction  function)
inlineoverridevirtual

Finds the I2C pin info with the help of the function.

Implements IDriverDeviceInfo.

◆ getI2SPins() [1/2]

audio_driver_local::Optional< InfoI2S > getI2SPins ( int  port)
inline

Finds the I2S pin info with the help of the port.

◆ getI2SPins() [2/2]

Finds the I2S pin info with the help of the function.

◆ getPin() [1/2]

audio_driver_local::Optional< InfoGPIO > getPin ( GpioPin  pinId)
inline

Get pin information by pin ID.

◆ getPin() [2/2]

audio_driver_local::Optional< InfoGPIO > getPin ( PinFunction  function,
int  pos = 0 
)
inline

Get pin information by function.

◆ getPinID()

GpioPin getPinID ( PinFunction  function,
int  pos = 0 
)
inline

◆ getPtr()

template<typename T >
T * getPtr ( PinFunction  function,
audio_driver_local::Vector< T > &  vect 
)
inlineprotected

◆ getSPIPins()

audio_driver_local::Optional< InfoSPI > getSPIPins ( PinFunction  function)
inline

Finds the SPI pin info with the help of the function.

◆ hasConflict()

bool hasConflict ( int  pin)
inlineprotected

◆ hasI2CConflict()

bool hasI2CConflict ( int  pin)
inlineprotected

◆ hasPins()

bool hasPins ( )
inline

Returns true if some function pins have been defined.

◆ hasSPIConflict()

bool hasSPIConflict ( int  pin)
inlineprotected

◆ isKeyPressed()

virtual bool isKeyPressed ( uint8_t  key)
inlinevirtual

returns true if pressed

Reimplemented in PinsLyratMiniClass.

◆ isSDMMCActive()

bool isSDMMCActive ( )
inline

Check if SDMMC has been activated.

◆ isSPIActiveForSD()

bool isSPIActiveForSD ( )
inline

Check if SPI for SD should be started automatically.

◆ operator=()

DriverDeviceInfo & operator= ( const DriverDeviceInfo )
delete

◆ set()

template<typename T >
bool set ( pin,
audio_driver_local::Vector< T > &  vect 
)
inlineprotected

◆ setI2C()

bool setI2C ( InfoI2C  pin)
inline

Updates the I2C pin information using the function as key.

◆ setI2S()

bool setI2S ( InfoI2S  pin)
inline

Updates the I2S pin information using the function as key.

◆ setPin()

bool setPin ( InfoGPIO  updatedPin)
inline

Updates an existing pin information using the function and index as key.

◆ setPinActive() [1/2]

bool setPinActive ( int  gpioPin,
bool  active 
)
inline

Updates an existing pin active flag for the indicated gpio.

◆ setPinActive() [2/2]

bool setPinActive ( PinFunction  func,
int  idx,
bool  active 
)
inline

Updates an existing pin active flag for the indicated gpio.

◆ setSDMMCActive()

void setSDMMCActive ( bool  active)
inline

Defines if SPI for SD should be started (by default true)

◆ setSPI()

bool setSPI ( InfoSPI  pin)
inline

Updates the SPI pin information using the function as key.

◆ setSPIActiveForSD()

void setSPIActiveForSD ( bool  active)
inline

Defines if SPI for SD should be started (by default true)

◆ setupPinMode()

void setupPinMode ( )
inlineprotected

Member Data Documentation

◆ gpio

GPIOExt gpio
protected

◆ i2c

audio_driver_local::Vector<InfoI2C> i2c {0}
protected

◆ i2s

audio_driver_local::Vector<InfoI2S> i2s {0}
protected

◆ pins

audio_driver_local::Vector<InfoGPIO> pins {0}
protected

◆ sd_active

bool sd_active = false
protected

◆ sdmmc_active

bool sdmmc_active = false
protected

◆ spi

audio_driver_local::Vector<InfoSPI> spi {0}
protected

The documentation for this class was generated from the following file: