47#ifndef UWROV_CTR_MODULE_H
48#define UWROV_CTR_MODULE_H
54#define UWROV_DROP_REASON_UNKNOWN_TYPE "UKT"
55#define UWROV_DROP_REASON_OUT_OF_SEQUENCE "OOS"
56#define UWROV_DROP_REASON_DUPLICATED_PACKET "DPK"
57#define HDR_UWROV_MONITORING(p) (hdr_uwROV_monitoring::access(p))
58#define HDR_UWROV_CTR(p) (hdr_uwROV_ctr::access(p))
105 virtual int command(
int argc,
const char *
const *argv)
override;
114 virtual void initPkt(Packet *p)
override;
131 virtual void recv(Packet *)
override;
139 virtual void recv(Packet *p, Handler *h)
override;
151 virtual void start()
override;
UwCbrModule class is used to manage UWCBR packets and to collect statistics about them.
UwSendTimer sendTmr_
Timer which schedules packet transmissions.
UwROVCtrModule class is used to manage UWROVCtr packets and to collect statistics about them.
float y_rov
Y of the last ROV position monitored.
int adaptiveRTO
Sequence number of the last control packet sent.
float x_rov
X of the last ROV position monitored.
Position * posit
Controller position.
virtual int command(int argc, const char *const *argv) override
TCL command interpreter.
float newY
Y of the new position sent to the ROV.
virtual void transmit() override
Creates and transmits a packet.
virtual void initPkt(Packet *p) override
Initializes a control data packet passed as argument with the default values.
double adaptiveRTO_parameter
Parameter for the adaptive RTO.
float newZ
Z of the new position sent to the ROV.
virtual void recv(Packet *) override
Performs the reception of packets from upper and lower layers.
static int getROVCTRHeaderSize()
Returns the size in byte of a hdr_uwROV_ctr packet header.
float z_rov
Z of the last ROV position monitored.
float newX
X of the new position sent to the ROV.
void reset_retx()
Reset retransmissions.
virtual void start() override
Start the controller.
static int getROVMonHeaderSize()
Returns the size in byte of a hdr_uwROV_monitoring packet header.
virtual ~UwROVCtrModule()=default
Destructor of UwROVCtrModule class.
UwROVCtrModule()
Constructor of UwROVCtrModule class.
float speed
Moving speed sent to the ROV.
UwROVCtrSendTimer class is used to handle the scheduling period of UWROV packets.
UwROVCtrSendTimer(UwROVCtrModule *m)
Conscructor of UwSendTimer class.
UwSendTimer class is used to handle the scheduling period of UWCBR packets.
hdr_uwROV_ctr describes UWROV_ctr packets for controlling the ROV.
hdr_uwROV_monitoring describes UWROV_monitoring packets sent by the ROV to the base station for monit...
Provides the UWCBR packets header description and the definition of the class UWCBR.
Provides both UWROV monitoring and control packets header description.