User Tools

Site Tools


doc:lps:tdoa3:protocol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
doc:lps:tdoa3:protocol [2018-05-02 13:45]
kristoffer
doc:lps:tdoa3:protocol [2018-05-02 14:41]
kristoffer
Line 7: Line 7:
  
 </WRAP> </WRAP>
- 
-This page describes the [[doc:lps:tdoa3|TDoA]] anchor protocol V3. 
  
 ===== System architecture ===== ===== System architecture =====
Line 26: Line 24:
 There is only one packet format.  There is only one packet format. 
  
-<code c+<ditaa
-typedef struct { +              +--------+--------------------+ 
-    uint8_t id;            // The id of the remote anchor +Packet    :   | Header | Remote anchor data | 
-    uint8_t seq;           // Sequence number of latest packet received from the remote anchor +              +--------+--------------------+ 
-    uint16_t distance;     // Time of flight between the current anchor and the remote anchor in radio timer ticks + 
-    uint32_t rxTimeStamp;  // Receive time stamp of latest packet from the remote anchor +                                  7 bytes 
-} __attribute__((packed)) remoteAnchorData_t;+               <-------------------------------------------> 
 +                8 bits   8 bits     32 bits       8 bits 
 +               <------> <------> <-----------> <-----------> 
 +              +--------+--------+-------------+-------------+ 
 +Header    :    type  |  seq   | txTimeStamp | remoteCount | 
 +              +--------+--------+-------------+-------------+
  
-typedef struct { +  
-  uint8_t type;            // 0x30 +                                            6 or 8 bytes 
-  uint8_t seq;             // The sequence number of this packet +                     <----------------------------------------------------------> 
-  uint32_t txTimeStamp;    /Transmission time of this packet+                      8 bits      1 bit      7 bits     32 bits     0 or 16 bits 
 +                     <------> <-----------> <------> <-----------> <------------> 
 +                    +--------+-------------+--------+-------------+--------------+ 
 +Remote anchor data: |   id   | hasDistance |  seq   | rxTimeStamp |   distance   | 
 +                    +--------+-------------+--------+-------------+--------------+ 
 +</ditaa>
  
-  uint8_t remoteCount;     // The number of slots in the following section that are populated with data +  * **Header** 
-  remoteAnchorData_t remoteData[LOCODECK_NR_OF_TDOA3_ANCHORS]; +    * **type:** 0x30 
-} __attribute__((packed)) rangePacket3_t; +    * **seq:** the sequence number of this packet 0 - 127 
-</code>+    * **txTimeStamp:** transmission time of this packet 
 +    * **remoteCount:** the number of slots in the Remote Anchor Data section that are populated with data, max 8 
 +  * **Remote anchor data** 
 +    * **id:** the id of the remote anchor 
 +    * **hasDistance:** 1 = distance data is included in the remote anchor data, total length is 8 bytes, otherwise it is 6 bytes. 
 +    * **seq:** sequence number of latest packet received from the remote anchor 0 - 127 
 +    * **rxTimeStamp:** receive time stamp of latest packet from the remote anchor 
 +    * **distance:** time of flight between the current anchor and the remote anchor in radio timer ticks
  
 ===== Tag implementation ===== ===== Tag implementation =====
doc/lps/tdoa3/protocol.txt · Last modified: 2020-05-12 14:08 by kimberly