arduino-audio-tools
Loading...
Searching...
No Matches
I2SConfigZephyr.h
Go to the documentation of this file.
1#pragma once
2#include "AudioToolsConfig.h"
4#include <zephyr/device.h>
5
6
7namespace audio_tools {
8
19class I2SConfigZephyr : public AudioInfo {
20 public:
21
22 I2SConfigZephyr() = default;
24 I2SConfigZephyr(const I2SConfigZephyr &cfg) = default;
25
33
36 bool is_master = true;
40 device* dev = nullptr;
41
42
43 void logInfo(const char* source="") {
44 AudioInfo::logInfo(source);
45 LOGI("rx/tx mode: %s", RxTxModeNames[rx_tx_mode]);
46 //LOGI("port_no: %d", port_no);
47 LOGI("is_master: %s", is_master ? "Master":"Slave");
48 LOGI("sample rate: %d", (int)sample_rate);
49 LOGI("bits per sample: %d", (int)bits_per_sample);
50 LOGI("number of channels: %d", (int)channels);
51 LOGI("i2s_format: %s", i2s_formats[i2s_format]);
52 LOGI("buffer_count:%d",buffer_count);
53 LOGI("buffer_size:%d",buffer_size);
54 LOGI("device name: %s", dev->name!=nullptr ? dev->name : "n/a");
55 }
56};
57
58using I2SConfig = I2SConfigZephyr;
59
60}
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define DEFAULT_BITS_PER_SAMPLE
Definition AudioToolsConfig.h:104
#define I2S_BUFFER_SIZE
Definition AudioToolsConfig.h:112
#define DEFAULT_CHANNELS
Definition AudioToolsConfig.h:100
#define I2S_BUFFER_COUNT
Definition AudioToolsConfig.h:116
#define DEFAULT_SAMPLE_RATE
Definition AudioToolsConfig.h:96
Configuration for i2s.
Definition I2SConfigZephyr.h:19
int buffer_count
Definition I2SConfigZephyr.h:38
RxTxMode rx_tx_mode
public settings
Definition I2SConfigZephyr.h:35
device * dev
Definition I2SConfigZephyr.h:40
I2SConfigZephyr(const I2SConfigZephyr &cfg)=default
Default Copy Constructor.
bool is_master
Definition I2SConfigZephyr.h:36
I2SFormat i2s_format
Definition I2SConfigZephyr.h:37
void logInfo(const char *source="")
Definition I2SConfigZephyr.h:43
I2SConfigZephyr(RxTxMode mode)
Constructor.
Definition I2SConfigZephyr.h:27
int buffer_size
Definition I2SConfigZephyr.h:39
RxTxMode
The Microcontroller is the Audio Source (TX_MODE) or Audio Sink (RX_MODE). RXTX_MODE is Source and Si...
Definition AudioTypes.h:26
@ TX_MODE
Definition AudioTypes.h:26
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition AudioCodecsBase.h:10
I2SConfigESP32 I2SConfig
Definition I2SConfigESP32.h:114
static const char * RxTxModeNames[4]
Text string (description) for RxTxMode.
Definition AudioTypes.h:38
I2SFormat
I2S Formats.
Definition AudioTypes.h:416
@ I2S_STD_FORMAT
Definition AudioTypes.h:417
static const char * i2s_formats[]
Definition AudioTypes.h:426
Basic Audio information which drives e.g. I2S.
Definition AudioTypes.h:51
sample_rate_t sample_rate
Sample Rate: e.g 44100.
Definition AudioTypes.h:53
uint16_t channels
Number of channels: 2=stereo, 1=mono.
Definition AudioTypes.h:55
uint8_t bits_per_sample
Number of bits per sample (int16_t = 16 bits)
Definition AudioTypes.h:57
virtual void logInfo(const char *source="")
Definition AudioTypes.h:121