UWB-Tracking
Loading...
Searching...
No Matches
tof-initiator.h
Go to the documentation of this file.
1#pragma once
2
8#include "tof-device.h"
9
10/* Delay between frames, in UWB microseconds.*/
11#define POLL_TX_TO_RESP_RX_DLY_UUS 2100
12/* Receive response timeout.*/
13#define RESP_RX_TIMEOUT_UUS 300
14
15extern double distances[NUM_LANDMARKS];
16
20class TofInitiator : public TofDevice
21{
22public:
30 TofInitiator(uwb_addr src, uwb_addr* dst, unsigned long wdt_timeout, uint8_t num_of_responders);
31
36
40 virtual void setup() override;
41
45 virtual void loop() override;
46
47private:
48 uint32_t frame_cnt;
49 uint8_t seq_cnt; /* Frame sequence number, incremented after each transmission. */
50 uint8_t nonce[13]; /* 13-byte nonce used in this example as per IEEE802.15.4 */
51
55
56 /* Hold copies of computed time of flight and
57 distance here for reference so that it can be processed further. */
58 double tof;
60
65 void send_tof_request(uwb_addr dest);
66
72};
The base class for Time-of-Flight (TOF) devices.
Definition: tof-device.h:44
The TofInitiator class represents a Time-of-Flight (TOF) initiator device.
Definition: tof-initiator.h:21
uint32_t frame_cnt
Definition: tof-initiator.h:48
uint8_t nonce[13]
Definition: tof-initiator.h:50
void process_tof_response()
Process the TOF response received from a responder. The calculated distance is stored into temp_dista...
Definition: tof-initiator.cpp:124
double temp_distance
Definition: tof-initiator.h:59
virtual void loop() override
Main loop of the TOF initiator device.
Definition: tof-initiator.cpp:50
uint8_t total_responders
Definition: tof-initiator.h:53
uwb_addr * dst_address
Definition: tof-initiator.h:52
void send_tof_request(uwb_addr dest)
Send a TOF request to a specific destination address.
Definition: tof-initiator.cpp:82
virtual void setup() override
Initialize and configure the TOF initiator device.
Definition: tof-initiator.cpp:23
uint8_t seq_cnt
Definition: tof-initiator.h:49
double tof
Definition: tof-initiator.h:58
uint8_t current_responder
Definition: tof-initiator.h:54
~TofInitiator()
Destructor for the TofInitiator class.
Definition: tof-initiator.h:35
long long uwb_addr
Definition: datatypes.h:11
#define NUM_LANDMARKS
Definition: datatypes.h:8
Header file for the TOFDevice class, a superclass for TOF initiators and responders.
double distances[NUM_LANDMARKS]