TinyModem
Header-only software audio modem library
Loading...
Searching...
No Matches
tinymodem::PSKStreamRTOS Class Reference

PSKStream which receives in a separate task. See BasicModemStreamRTOS. More...

#include <ModemStreamRTOS.h>

Inheritance diagram for tinymodem::PSKStreamRTOS:
Collaboration diagram for tinymodem::PSKStreamRTOS:

Additional Inherited Members

Public Types inherited from tinymodem::BasicModemStreamRTOS< PSKStream >
using Config
Public Types inherited from tinymodem::BasicModemStream< PSKEncoder, PSKDecoder, PSKConfig >
using ConfigType
Public Member Functions inherited from tinymodem::BasicModemStreamRTOS< PSKStream >
 ~BasicModemStreamRTOS ()
void setTaskConfig (int stack_size, int priority=1, int core=-1)
bool begin (Config cfg, int rx_buffer_size=256)
void end ()
 Stops the receive task and the modem.
int available () override
int read () override
int peek () override
size_t update ()
 Not needed: the receive task processes the input.
bool isRunning ()
 true while the receive task is running
Public Member Functions inherited from tinymodem::PSKStream
 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< PSKEncoder, PSKDecoder, PSKConfig >
 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.
PSKConfig defaultConfig ()
bool begin (PSKConfig 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
PSKEncoder & getEncoder ()
PSKDecoder & getDecoder ()
Protected Types inherited from tinymodem::BasicModemStreamRTOS< PSKStream >
using Queue
Protected Types inherited from tinymodem::BasicModemStream< PSKEncoder, PSKDecoder, PSKConfig >
using ReceiveQueue
Protected Member Functions inherited from tinymodem::BasicModemStreamRTOS< PSKStream >
void receive ()
 One iteration of the receive task.
size_t readInputLocked ()
 Reads the available audio input and feeds it to the decoder.
Protected Member Functions inherited from tinymodem::BasicModemStream< PSKEncoder, PSKDecoder, PSKConfig >
size_t readInput ()
 Reads the available audio input and feeds it to the decoder.
Protected Attributes inherited from tinymodem::BasicModemStreamRTOS< PSKStream >
audio_tools::Task task
audio_tools::Mutex mutex
LockedQueue locked_queue
int task_stack_size
int task_priority
int task_core
bool task_created
bool is_task_active
std::atomic< bool > is_running
std::atomic< bool > is_idle
Protected Attributes inherited from tinymodem::BasicModemStream< PSKEncoder, PSKDecoder, PSKConfig >
Print * p_audio_out
Stream * p_audio_in
PSKEncoder encoder
PSKDecoder decoder
ReceiveQueue rx_queue
int rx_limit
uint8_t copy_buffer [256]
Static Protected Attributes inherited from tinymodem::BasicModemStreamRTOS< PSKStream >
static constexpr int DEFAULT_STACK_SIZE

Detailed Description

PSKStream which receives in a separate task. See BasicModemStreamRTOS.


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