DESERT 3.5.1
Loading...
Searching...
No Matches
uwtracker-module.h
Go to the documentation of this file.
1//
2// Copyright (c) 2017 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
44#ifndef UWTRACK_MODULE_H
45#define UWTRACK_MODULE_H
46#include <uwcbr-module.h>
47#include <uwtracker-packet.h>
48
49class UwTrackerModule; // forward declaration
50class UWSMPosition; // forward declaration
51
52class UwUpdateTrackMeasure : public TimerHandler
53{
54public:
56 : TimerHandler(), module(m)
57 {
58
59 }
60
61protected:
62 virtual void expire(Event *e);
63 UwTrackerModule *module;
64};
65
71public:
72
77
84
88 virtual ~UwTrackerModule();
89
98 virtual int command(int argc, const char*const* argv);
99
105 virtual void initPkt(Packet* p) ;
106
107protected:
108
123 virtual void printReceivedPacket(Packet *p);
124
130 void sendPkt();
131
136 void updateTrackMeasure();
137
141 virtual void start();
142
146 virtual void stop();
147};
148
149#endif // UWROV_MODULE_H
UwCbrModule class is used to manage UWCBR packets and to collect statistics about them.
UwTrackerModule class is used to track mobile nodes via sonar and share tracking information via pack...
virtual void stop()
Stop to send packets.
virtual int command(int argc, const char *const *argv)
TCL command interpreter.
virtual ~UwTrackerModule()
Destructor of UwTrackerModule class.
UwUpdateTrackMeasure measure_timer
timer to schedule tracking measurements
double tracking_period
period between tracking measurements
void sendPkt()
Allocates, initialize and sends a packet with the default priority flag set from tcl.
hdr_uwTracker track_measure
Track position.
virtual void start()
Start to send packets.
int send_only_active_trace
send only active trace
int track_my_position
track also my position
virtual void initPkt(Packet *p)
Initializes a monitoring data packet passed as argument with the default values.
UwTrackerModule()
Default Constructor of UwTrackerModule class.
UWSMPosition * track_position
Track position.
double max_tracking_distance
Maximum tracking distance, in [m].
void updateTrackMeasure()
Update the track measure.
virtual void printReceivedPacket(Packet *p)
Print to tracefile details about a received packet.
virtual void expire(Event *e)
UwUpdateTrackMeasure(UwTrackerModule *m)
hdr_uwROV_ctr describes UWROV_ctr packets for controlling the ROV.
Provides the UWCBR packets header description and the definition of the class UWCBR.
Provides UWSCFTRACK packets header description.