45#include <condition_variable>
95 virtual void recv(Packet *p);
114 virtual int command(
int argc,
const char *
const *argv);
122 virtual void startTx(Packet *p);
130 virtual void startRx(Packet *p);
137 virtual void endRx(Packet *p);
143 virtual void start();
168 void updateStatus(std::shared_ptr<ahoi::packet_t> packet);
189 bool parseFooter(std::shared_ptr<ahoi::footer_t> footer);
198 bool storePacketInfo(std::shared_ptr<ahoi::packet_t> header, Packet *p);
Definition uwahoimodem.h:57
void updateSN()
Definition uwahoimodem.cpp:579
int stop_bit
Definition uwahoimodem.h:270
virtual void endRx(Packet *p)
Definition uwahoimodem.cpp:264
UwAhoiModem()
Definition uwahoimodem.cpp:73
TransmissionState
Definition uwahoimodem.h:74
uint id
Definition uwahoimodem.h:265
ModemState
Definition uwahoimodem.h:66
std::condition_variable tx_status_cv
Definition uwahoimodem.h:225
virtual void startTx(Packet *p)
Definition uwahoimodem.cpp:176
std::mutex tx_queue_m
Definition uwahoimodem.h:221
ahoi::packet_t fillAhoiPkt(Packet *p)
Definition uwahoimodem.cpp:231
std::unique_ptr< UwConnector > p_connector
Definition uwahoimodem.h:206
virtual int command(int argc, const char *const *argv)
Definition uwahoimodem.cpp:164
uint rssi
Definition uwahoimodem.h:280
virtual void stop()
Definition uwahoimodem.cpp:322
double virtual_time_ref
Definition uwahoimodem.h:247
virtual int recvSyncClMsg(ClMessage *m)
Definition uwahoimodem.cpp:170
uint power
Definition uwahoimodem.h:278
virtual void start()
Definition uwahoimodem.cpp:271
uint agc_max
Definition uwahoimodem.h:288
std::mutex tx_status_m
Definition uwahoimodem.h:219
uint bit_errors
Definition uwahoimodem.h:282
void createRxPacket(Packet *p)
Definition uwahoimodem.cpp:452
bool storePacketInfo(std::shared_ptr< ahoi::packet_t > header, Packet *p)
Definition uwahoimodem.cpp:463
std::mutex status_m
Definition uwahoimodem.h:217
uint agc_mean
Definition uwahoimodem.h:284
std::atomic< bool > receiving
Definition uwahoimodem.h:229
static uint MAX_RETX
Definition uwahoimodem.h:241
std::chrono::milliseconds WAIT_DELIVERY
Definition uwahoimodem.h:254
ModemState status
Definition uwahoimodem.h:211
static uint WAIT_DELIVERY_INT
Definition uwahoimodem.h:259
int flow_control
Definition uwahoimodem.h:272
virtual void transmittingData()
Definition uwahoimodem.cpp:342
static const std::chrono::milliseconds MODEM_TIMEOUT
Definition uwahoimodem.h:239
std::condition_variable tx_queue_cv
Definition uwahoimodem.h:227
virtual ~UwAhoiModem()
Definition uwahoimodem.cpp:116
uint agc_min
Definition uwahoimodem.h:286
std::unique_ptr< UwInterpreterAhoi > p_interpreter
Definition uwahoimodem.h:209
virtual void startRx(Packet *p)
Definition uwahoimodem.cpp:257
std::atomic< bool > transmitting
Definition uwahoimodem.h:231
std::thread rx_thread
Definition uwahoimodem.h:233
std::thread tx_thread
Definition uwahoimodem.h:235
static const double EPSILON_S
Definition uwahoimodem.h:250
int parity_bit
Definition uwahoimodem.h:268
std::condition_variable status_cv
Definition uwahoimodem.h:223
void updateStatus(std::shared_ptr< ahoi::packet_t > packet)
Definition uwahoimodem.cpp:506
std::string rx_payload
Definition uwahoimodem.h:237
virtual void receivingData()
Definition uwahoimodem.cpp:395
TransmissionState tx_status
Definition uwahoimodem.h:213
int baud_rate
Definition uwahoimodem.h:274
ahoi::packet_t tmpPacket
Definition uwahoimodem.h:262
static uint8_t sn
Definition uwahoimodem.h:244
bool parseFooter(std::shared_ptr< ahoi::footer_t > footer)
Definition uwahoimodem.cpp:493
virtual void recv(Packet *p)
Definition uwahoimodem.cpp:122
Generic class that provides a method to interface with the devices. Will be specialized for,...
Interpreter for commands and responses for ahoi! modems, TUHH, Hamburg.
Header of the main class that implements the general interface between DESERT and real acoustic modem...