|
TinyModem
Header-only software audio modem library
|
Arduino Stream API for the ggwave compatible modem: print() collects the data (up to 140 bytes), flush() sends it as message, read() receives. See BasicModemStream. More...
#include <ModemStream.h>


Public Member Functions | |
| BasicModemStream ()=default | |
| BasicModemStream (Print &audio_out) | |
| transmit only | |
| BasicModemStream (Print &audio_out, Stream &audio_in) | |
| transmit and receive with separate output and input | |
| BasicModemStream (Stream &audio, audio_tools::RxTxMode mode) | |
| Public Member Functions inherited from tinymodem::BasicModemStream< GGWaveEncoder, GGWaveDecoder, GGWaveConfig > | |
| BasicModemStream ()=default | |
| void | setOutput (Print &audio_out) |
| Defines the audio output (transmitter). | |
| void | setInput (Stream &audio_in) |
| Defines the audio input (receiver). | |
| void | setStatusOutput (Print &out) |
| Defines the output for the ### CARRIER / ### NOCARRIER messages. | |
| GGWaveConfig | defaultConfig () |
| bool | begin (GGWaveConfig cfg, int rx_buffer_size=256) |
| void | end () |
| size_t | write (uint8_t ch) override |
| void | flush () override |
| Sends the trailer: call this at the end of a message. | |
| int | available () override |
| int | read () override |
| int | peek () override |
| size_t | readBytes (uint8_t *data, size_t len) |
| Reads the available data (does not wait for more data). | |
| size_t | update () |
| bool | isCarrier () |
| true while a carrier is detected | |
| GGWaveEncoder & | getEncoder () |
| GGWaveDecoder & | getDecoder () |
Additional Inherited Members | |
| Public Types inherited from tinymodem::BasicModemStream< GGWaveEncoder, GGWaveDecoder, GGWaveConfig > | |
| using | ConfigType |
| Protected Types inherited from tinymodem::BasicModemStream< GGWaveEncoder, GGWaveDecoder, GGWaveConfig > | |
| using | ReceiveQueue |
| Protected Member Functions inherited from tinymodem::BasicModemStream< GGWaveEncoder, GGWaveDecoder, GGWaveConfig > | |
| size_t | readInput () |
| Reads the available audio input and feeds it to the decoder. | |
| Protected Attributes inherited from tinymodem::BasicModemStream< GGWaveEncoder, GGWaveDecoder, GGWaveConfig > | |
| Print * | p_audio_out |
| Stream * | p_audio_in |
| GGWaveEncoder | encoder |
| GGWaveDecoder | decoder |
| ReceiveQueue | rx_queue |
| int | rx_limit |
| uint8_t | copy_buffer [256] |
Arduino Stream API for the ggwave compatible modem: print() collects the data (up to 140 bytes), flush() sends it as message, read() receives. See BasicModemStream.
|
default |
|
inline |
transmit only
|
inline |
transmit and receive with separate output and input
|
inline |
use the same audio stream: TX_MODE (transmit only), RX_MODE (receive only) or RXTX_MODE (both)