44#include <condition_variable>
94 virtual void recv(Packet *p);
105 virtual int command(
int argc,
const char *
const *argv);
141 virtual void startTx(Packet *p);
149 virtual void startRx(Packet *p);
156 virtual void endRx(Packet *p);
237 static std::vector<std::pair<std::string, ModemResponse>>
signaling_dict;
262 const std::string
sep = {
"::"};
Definition uwmodamodem.h:52
std::thread rx_thread
Definition uwmodamodem.h:233
virtual int getModulationType(Packet *p)
Definition uwmodamodem.cpp:173
int premodulation
Definition uwmodamodem.h:275
void createRxPacket(Packet *p)
Definition uwmodamodem.cpp:353
const std::string sep
Definition uwmodamodem.h:262
virtual void endRx(Packet *p)
Definition uwmodamodem.cpp:238
ModemState status
Definition uwmodamodem.h:158
void receivingSignaling()
Definition uwmodamodem.cpp:363
ModemResponse parseSignaling(std::vector< char >::iterator &end_it)
Definition uwmodamodem.cpp:420
void receivingData()
Definition uwmodamodem.cpp:306
std::mutex status_m
Definition uwmodamodem.h:214
static const int SIGNALING_ADDRESS
Definition uwmodamodem.h:247
virtual void recv(Packet *p)
Definition uwmodamodem.cpp:116
std::thread tx_thread
Definition uwmodamodem.h:234
virtual double getTxDuration(Packet *p)
Definition uwmodamodem.cpp:179
void updateStatus(ModemResponse response)
Definition uwmodamodem.cpp:469
std::string rx_payload
Definition uwmodamodem.h:227
void start()
Definition uwmodamodem.cpp:245
std::thread sig_thread
Definition uwmodamodem.h:232
std::atomic< bool > receiving
Definition uwmodamodem.h:222
virtual void startTx(Packet *p)
Definition uwmodamodem.cpp:499
std::condition_variable status_cv
Definition uwmodamodem.h:216
std::mutex tx_queue_m
Definition uwmodamodem.h:218
ModemResponse
Definition uwmodamodem.h:76
static const std::chrono::milliseconds MODEM_TIMEOUT
Definition uwmodamodem.h:259
std::condition_variable tx_queue_cv
Definition uwmodamodem.h:220
static std::vector< std::pair< std::string, ModemResponse > > signaling_dict
Definition uwmodamodem.h:52
void stop()
Definition uwmodamodem.cpp:277
void transmittingData()
Definition uwmodamodem.cpp:394
virtual int command(int argc, const char *const *argv)
Definition uwmodamodem.cpp:159
static std::map< ModemState, std::string > stateToString
Definition uwmodamodem.h:57
std::string signal_tag
Definition uwmodamodem.h:271
UwMODAModem()
Definition uwmodamodem.cpp:84
const std::string end_delim
Definition uwmodamodem.h:264
std::vector< char > signal_buffer
Definition uwmodamodem.h:256
ModemState
Definition uwmodamodem.h:62
virtual void startRx(Packet *p)
Definition uwmodamodem.cpp:231
virtual ~UwMODAModem()
Definition uwmodamodem.cpp:110
int rx_size
Definition uwmodamodem.h:229
std::unique_ptr< UwConnector > signal_conn
Definition uwmodamodem.h:246
virtual int recvSyncClMsg(ClMessage *m)
Definition uwmodamodem.cpp:201
static const int DATA_ADDRESS
Definition uwmodamodem.h:253
std::atomic< bool > transmitting
Definition uwmodamodem.h:224
std::string signal_address
Definition uwmodamodem.h:273
std::unique_ptr< UwConnector > data_conn
Definition uwmodamodem.h:252
Generic class that provides a method to interface with the devices. Will be specialized for,...
Header of the main class that implements the general interface between DESERT and real acoustic modem...
Class that implements a connector and, specifically, the socket connector. BSD sockets are used,...