39#ifndef UWRANGINGTDOA_H
40#define UWRANGINGTDOA_H
62 virtual void expire(Event *e);
90 virtual void recv(Packet *)
override;
98 virtual void recv(Packet *p, Handler *h)
override;
113 virtual int command(
int argc,
const char *
const *argv)
override;
118 virtual void start();
131 virtual bool isValid(
double value)
const;
148 virtual void rangeRX(
const Packet *p);
161 std::vector<int> *sorted_entries =
nullptr)
const;
168 virtual double entryWeight(
int entry,
int pkt_size,
int mode)
const;
205 std::vector<std::vector<int>>
207 std::vector<std::vector<std::vector<tdoa_entry>>>
209 std::vector<std::vector<double>>
225 const size_t PKTIDMAX = std::numeric_limits<uwrange_pkt_t>::
Definition uwranging_tdoa.h:53
virtual void expire(Event *e)
Definition uwranging_tdoa.cpp:88
UwRangeTimer(UwRangingTDOA *m)
Definition uwranging_tdoa.h:55
Definition uwranging_tdoa.h:70
double delay_start
Definition uwranging_tdoa.h:201
int dist_num
Definition uwranging_tdoa.h:180
virtual void updateHoldoverTime(Packet *p, double tx_duration)
Definition uwranging_tdoa.cpp:455
double mac2phy_delay
Definition uwranging_tdoa.h:196
double full_pkt_tx_dur
Definition uwranging_tdoa.h:202
virtual void recv(Packet *) override
Definition uwranging_tdoa.cpp:166
virtual int calcOptEntries(std::vector< int > *sorted_entries=nullptr) const
Definition uwranging_tdoa.cpp:299
std::vector< double > entries_timestamps
Definition uwranging_tdoa.h:216
int phy_id
Definition uwranging_tdoa.h:191
virtual void rangeRX(const Packet *p)
Definition uwranging_tdoa.cpp:505
int range_pkts_recv
Definition uwranging_tdoa.h:187
double max_tt
Definition uwranging_tdoa.h:198
virtual void stop()
Definition uwranging_tdoa.cpp:713
virtual int recvSyncClMsg(ClMessage *m) override
Definition uwranging_tdoa.cpp:187
int range_entries
Definition uwranging_tdoa.h:181
int n_nodes
Definition uwranging_tdoa.h:179
virtual void rangeTX()
Definition uwranging_tdoa.cpp:374
UwRangingTDOA()
Definition uwranging_tdoa.cpp:93
UwRangeTimer send_timer
Definition uwranging_tdoa.h:194
int range_pkts_sent
Definition uwranging_tdoa.h:185
int packet_id
Definition uwranging_tdoa.h:177
const size_t PKTIDMAX
Definition uwranging_tdoa.h:225
std::vector< double > entry_last_tx
Definition uwranging_tdoa.h:218
std::vector< std::vector< int > > tof_map
Definition uwranging_tdoa.h:206
std::vector< double > time_of_flights
Definition uwranging_tdoa.h:213
int debug_tdoa
Definition uwranging_tdoa.h:175
bool scheduler_active
Definition uwranging_tdoa.h:173
int saved_entries
Definition uwranging_tdoa.h:189
int range_bytes_sent
Definition uwranging_tdoa.h:186
virtual ~UwRangingTDOA()=default
double max_age
Definition uwranging_tdoa.h:199
virtual int command(int argc, const char *const *argv) override
Definition uwranging_tdoa.cpp:622
std::vector< int > last_ids
Definition uwranging_tdoa.h:211
int range_pkts_err
Definition uwranging_tdoa.h:188
double range_period
Definition uwranging_tdoa.h:200
std::vector< std::vector< double > > times_mat
Definition uwranging_tdoa.h:210
virtual double entryWeight(int entry, int pkt_size, int mode) const
Definition uwranging_tdoa.cpp:263
virtual bool isValid(double value) const
Definition uwranging_tdoa.cpp:610
int poisson_traffic
Definition uwranging_tdoa.h:183
std::vector< std::vector< std::vector< tdoa_entry > > > entries_mat
Definition uwranging_tdoa.h:208
virtual void start()
Definition uwranging_tdoa.cpp:706
int node_id
Definition uwranging_tdoa.h:176
std::vector< uwrange_time_t > tx_timestamp
Definition uwranging_tdoa.h:220
double soundspeed
Definition uwranging_tdoa.h:203
virtual void throttleTX()
Definition uwranging_tdoa.cpp:720
int queue_size
Definition uwranging_tdoa.h:192
std::vector< double > ber
Definition uwranging_tdoa.h:223
Definition uwranging_tdoa_hdr.h:62
Common structures and variables in the protocol.