arduino-audio-tools
|
Analog Data IO using a timer and the Arduino analogRead() method and writing using analogWrite();. More...
#include <AnalogAudioArduino.h>
Public Member Functions | |
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
Adds target to be notified about audio changes. | |
virtual AudioInfo | audioInfo () override |
provides the actual input AudioInfo | |
virtual AudioInfo | audioInfoOut () |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream | |
int | available () override |
int | availableForWrite () override |
bool | begin () override |
Reopen with last config. | |
bool | begin (AnalogConfigStd cfg) |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
AnalogConfigStd | defaultConfig () |
provides the default configuration | |
void | end () override |
virtual void | flush () override |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
virtual | operator bool () |
size_t | readBytes (uint8_t *data, size_t len) override |
Provides the sampled audio data. | |
virtual size_t | readSilence (uint8_t *buffer, size_t length) |
Source to generate silence: just sets the buffer to 0. | |
virtual bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
Removes a target in order not to be notified about audio changes. | |
void | setAudioInfo (AudioInfo info) override |
Defines the input AudioInfo. | |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
size_t | write (const uint8_t *data, size_t len) override |
virtual size_t | write (uint8_t ch) override |
virtual void | writeSilence (size_t len) |
Writes len bytes of silence (=0). | |
Protected Member Functions | |
int | decimation () |
int | effectiveOutputSampleRate () |
Returns the effective output sample rate. | |
bool | isCombinedChannel () |
bool | isDecimateActive () |
virtual int | not_supported (int out, const char *msg="") |
void | notifyAudioChange (AudioInfo info) |
void | refillReadBuffer () |
bool | setupBuffer () |
bool | setupPins () |
pinmode input for defined analog pins | |
bool | setupTimer () |
bool | setupTx () |
void | updateAvg () |
void | updateMinMax (int value) |
Static Protected Member Functions | |
static void | callback (void *arg) |
Sample data and write to buffer. | |
Protected Attributes | |
int | _timeout = 10 |
int | avg_value |
BaseBuffer< uint8_t > * | buffer = nullptr |
AnalogConfigStd | config |
int | count |
int | decim = 1 |
uint16_t | frame_size = 0 |
AudioInfo | info |
bool | is_combined_channels = false |
bool | is_notify_active = true |
int | max |
int | min |
Vector< AudioInfoSupport * > | notify_vector |
int | result_factor = 1 |
TimerAlarmRepeating | timer |
RingBuffer< uint8_t > | tmp_in {0} |
RingBuffer< uint8_t > | tmp_out {0} |
Analog Data IO using a timer and the Arduino analogRead() method and writing using analogWrite();.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, MP3DecoderMAD, EncodedAudioOutput, EncodedAudioStream, AACDecoderFDK, DecoderBasic, MP3DecoderHelix, OggContainerDecoder, Pipeline, and Pipeline::ModifyingStreamAdapter.
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in JupyterAudioT< T >, MozziStream, TimerCallbackAudioStream, PureDataStream, AdapterAudioOutputToAudioStream, GeneratedSoundStream< T >, and GeneratedSoundStream< int16_t >.
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in PureDataStream, PWMAudioOutput, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, FormatConverterStream, Pipeline, and ResampleStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reopen with last config.
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
Reimplemented from Print.
Reimplemented in ResampleStream, ICYStreamBuffered, BufferedTaskStream, and BufferedStream.
|
inlineprotected |
The requested sampling rate is too hight: we only process half of the samples so we can half the sampling rate
Reimplemented in A2DPStream, Pipeline, I2SStream, and MemoryStream.
Provides the sampled audio data.
Reimplemented from AudioStream.
Defines the input AudioInfo.
Reimplemented from AudioStream.
Reimplemented from AudioStream.
Reimplemented in BufferedTaskStream, and BufferedStream.