![]() |
SoDaRadio-12.2.0-cut_dependencies:6c82803
|
#include <CWTX.hxx>
Public Member Functions | |
| void | subscribeToMailBoxes (const std::vector< MailBoxBasePtr > &mailboxes) |
| implement the subscription method | |
| void | run () |
| CWTX run loop: translate text to CW envelopes, handle incoming commands. | |
| Public Member Functions inherited from SoDa::Thread | |
| void | registerThread (SoDa::ThreadPtr me) |
| void | operator() () |
| void | start () |
| Execute the thread's run loop. | |
| void | join () |
| more properly "Wait for this thread to exit its run loop". | |
| void | execCommand (CommandPtr cmd) |
| Execute (dispatch) a message removed from the command stream to one of the basic Command handler functions. | |
| virtual void | shutDown () |
| optional method that performs cleanup – may not delete. | |
| void | sleep_ms (unsigned int milliseconds) |
| void | sleep_us (unsigned int microseconds) |
| uint32_t | getID () |
| Get the process/thread ID for this thread – helps with figuring out who caused a segfault. | |
| Public Member Functions inherited from SoDa::Base | |
| Base (const std::string &oname) | |
| The constructor – pass a name for the object. | |
| void | registerSelf (BasePtr ptr) |
| std::string & | getObjName () |
| get the name of this object | |
| BasePtr | findSoDaObject (const std::string &oname) |
| find a SoDa Object by name. | |
| double | getTime () |
| Get a time stamp in nS resolution that monotonically increases and that is very inexpensive (typically < 100nS). | |
| BasePtr | getSelfPtr () |
| get a pointer to myself. | |
| Public Member Functions inherited from SoDa::Debug | |
| Debug (std::string _unit_name=std::string("UNKNOWN")) | |
| Debug (const char *_unit_name_cstr) | |
| Debug (unsigned int _debug_level, std::string _unit_name=std::string("UNKNOWN")) | |
| Debug (unsigned int _debug_level, const char *_unit_name_cstr) | |
| void | debugMsg (const std::string &msg, unsigned int threshold=1) |
| void | debugMsg (const SoDa::Format &fmt, unsigned int threshold=1) |
| void | debugMsg (const char *msg, unsigned int threshold=1) |
| void | setDebugLevel (unsigned int v) |
| unsigned int | getDebugLevel () |
Static Public Member Functions | |
| static CWTXPtr | make (ParamsPtr params) |
| Static Public Member Functions inherited from SoDa::Debug | |
| static void | setDefaultLevel (unsigned int v) |
| static unsigned int | getDefaultLevel () |
| static void | setGlobalLevel (unsigned int v) |
| static unsigned int | getGlobalLevel () |
Protected Member Functions | |
| CWTX (ParamsPtr params) | |
| Constructor. | |
| Protected Member Functions inherited from SoDa::Thread | |
| Thread (const std::string &oname, const std::string &version=std::string("12.2.0")) | |
| make the thread object. | |
| Protected Member Functions inherited from SoDa::Debug | |
| std::string | curDateTime () |
Private Member Functions | |
| void | execGetCommand (CommandPtr cmd) |
| execute GET commands from the command channel | |
| void | execSetCommand (CommandPtr cmd) |
| handle SET commands from the command channel | |
| void | execRepCommand (CommandPtr cmd) |
| handle Report commands from the command channel | |
| void | enqueueText (const char *buf) |
| add text to the outbound text queue | |
| void | clearTextQueue () |
| forget all enqueued text | |
| bool | sendAvailChar () |
| if a character is available, encode it into an envelope | |
Private Attributes | |
| int | sent_char_count |
| std::shared_ptr< CWGenerator > | cwgen |
| Pointer to a text-to-morse translator. | |
| CmdMBoxPtr | cwtxt_stream |
| stream of characters to be encoded (from UI or elsewhere) | |
| CmdMBoxPtr | cmd_stream |
| stream of commands to modify radio state | |
| FDatMBoxPtr | cw_env_stream |
| stream carrying cw envelope buffers to USRPTX | |
| CmdMBox::Subscription | cwtxt_subs |
| subscription for text stream | |
| CmdMBox::Subscription | cmd_subs |
| subscription for command stream | |
| bool | txmode_is_cw |
| if true, we're transmitting a CW stream | |
| bool | old_txmode_is_cw |
| remember the mode we were in | |
| bool | tx_on |
| if true, we're transmitting a CW stream or a beacon | |
| double | rf_sample_rate |
| samples/sec for generating the envelope | |
| unsigned int | rf_buffer_size |
| the size of the envelope buffer | |
| std::queue< char > | text_queue |
| characters waiting to be sent | |
| std::mutex | text_mutex |
| mutex for text_queue | |
| std::queue< int > | break_notification_id_queue |
| tags inserted into text stream – send tag when the CW envelope generator gets to this character. | |
| std::mutex | break_id_mutex |
| mutex for break_notification queue | |
Additional Inherited Members | |
| Static Public Attributes inherited from SoDa::Debug | |
| static std::mutex | debug_msg_mutex |
| Protected Attributes inherited from SoDa::Thread | |
| std::weak_ptr< Thread > | self |
| A pointer to ourself. | |
| Protected Attributes inherited from SoDa::Debug | |
| std::string | unit_name |
| the name of the unit reporting status | |
| unsigned int | debug_level |
| the debug level (threshold) for messages | |
| Static Protected Attributes inherited from SoDa::Debug | |
| static unsigned int | default_debug_level |
| static unsigned int | global_debug_level |
|
protected |
|
private |
forget all enqueued text
|
private |
add text to the outbound text queue
| buf | zero terminated sequence of ASCII characters |
|
privatevirtual |
execute GET commands from the command channel
| cmd | the incoming command |
Reimplemented from SoDa::Thread.
|
privatevirtual |
handle Report commands from the command channel
| cmd | the incoming command |
Reimplemented from SoDa::Thread.
|
privatevirtual |
handle SET commands from the command channel
| cmd | the incoming command |
Reimplemented from SoDa::Thread.
|
virtual |
CWTX run loop: translate text to CW envelopes, handle incoming commands.
Reimplemented from SoDa::Thread.
|
private |
if a character is available, encode it into an envelope
|
virtual |
implement the subscription method
Implements SoDa::Thread.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |