arduino-audio-tools
Loading...
Searching...
No Matches
AnalogConfigStd.h
Go to the documentation of this file.
1#pragma once
2#include "AudioToolsConfig.h"
4
5#ifndef PIN_ANALOG_START
6# define PIN_ANALOG_START -1
7#endif
8
9#ifndef ANALOG_BUFFERS
10# define ANALOG_BUFFERS 10
11#endif
12
13#ifndef ANALOG_MAX_OUT_CHANNELS
14# define ANALOG_MAX_OUT_CHANNELS 10
15#endif
16
18
19
20namespace audio_tools {
21
22class AnalogAudioArduino;
23
31class AnalogConfigStd : public AudioInfo {
32 friend class AnalogAudioArduino;
33 public:
37 bool is_blocking_write = true;
41
42 AnalogConfigStd() = default;
46
48 template <typename T, int N>
49 void setPins(T (&a)[N]) {
52 for (int i = 0; i < N; ++i) {
53 pins_data[i] = a[i]; // reset all elements
54 }
55 }
56
57 // /// Defines the pins and the corresponding number of channels (=number of
58 // /// pins)
59 // void setPins(Pins &pins) {
60 // pins_data.clear();
61 // for (int i = 0; i < pins.size(); i++) {
62 // pins_data.push_back(pins[i]);
63 // }
64 // }
65
68 if (pins_data.size() == 0 && start_pin >= 0) {
70 for (int j = 0; j < channels; j++) {
72 }
73 }
74 return pins_data;
75 }
76
77 protected:
79
80};
81
82#ifndef ANALOG_CONFIG
83#define ANALOG_CONFIG
84using AnalogConfig = AnalogConfigStd;
85#endif
86
87} // ns
88#//endif
#define ANALOG_BUFFERS
Definition AnalogConfigStd.h:10
#define PIN_ANALOG_START
Definition AnalogConfigStd.h:6
Analog Data IO using a timer and the Arduino analogRead() method and writing using analogWrite();.
Definition AnalogAudioArduino.h:23
Generic ADC and DAC configuration.
Definition AnalogConfigStd.h:31
int buffer_count
Definition AnalogConfigStd.h:34
Pins & pins()
Determines the pins (for all channels)
Definition AnalogConfigStd.h:67
RxTxMode rx_tx_mode
Definition AnalogConfigStd.h:36
int start_pin
Definition AnalogConfigStd.h:40
bool is_auto_center_read
Definition AnalogConfigStd.h:38
int max_sample_rate
Definition AnalogConfigStd.h:39
Pins pins_data
Definition AnalogConfigStd.h:78
bool is_blocking_write
Definition AnalogConfigStd.h:37
AnalogConfigStd(RxTxMode rxtxMode)
Definition AnalogConfigStd.h:43
int buffer_size
Definition AnalogConfigStd.h:35
void setPins(T(&a)[N])
support assignament of int array
Definition AnalogConfigStd.h:49
bool resize(int newSize, T value)
Definition Vector.h:266
void clear()
Definition Vector.h:176
int size()
Definition Vector.h:178
#define ANALOG_BUFFER_SIZE
Definition giga.h:13
RxTxMode
The Microcontroller is the Audio Source (TX_MODE) or Audio Sink (RX_MODE). RXTX_MODE is Source and Si...
Definition AudioTypes.h:30
@ RX_MODE
Definition AudioTypes.h:30
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition AudioCodecsBase.h:10
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition AudioTypes.h:512
AnalogConfigESP32 AnalogConfig
Definition AnalogConfigESP32.h:79
Basic Audio information which drives e.g. I2S.
Definition AudioTypes.h:55
uint16_t channels
Number of channels: 2=stereo, 1=mono.
Definition AudioTypes.h:59
#define ANALOG_MAX_SAMPLE_RATE
Definition unor4.h:21