Arduino driver library for Decawave DW1000  Dec 20 2016
Public Member Functions | Static Public Attributes | List of all members
DW1000Time Class Reference

#include <DW1000Time.h>

Public Member Functions

 DW1000Time ()
 
 DW1000Time (int64_t time)
 
 DW1000Time (byte data[])
 
 DW1000Time (const DW1000Time &copy)
 
 DW1000Time (float timeUs)
 
 DW1000Time (int32_t value, float factorUs)
 
 ~DW1000Time ()
 
void setTimestamp (int64_t value)
 
void setTimestamp (byte data[])
 
void setTimestamp (const DW1000Time &copy)
 
void setTime (float timeUs)
 
void setTime (int32_t value, float factorUs)
 
int64_t getTimestamp () const
 
void getTimestamp (byte data[]) const
 
float getAsFloat () const
 
float getAsMicroSeconds () const
 
float getAsMeters () const
 
DW1000Timewrap ()
 
bool isValidTimestamp ()
 
DW1000Timeoperator= (const DW1000Time &assign)
 
DW1000Timeoperator+= (const DW1000Time &add)
 
DW1000Time operator+ (const DW1000Time &add) const
 
DW1000Timeoperator-= (const DW1000Time &sub)
 
DW1000Time operator- (const DW1000Time &sub) const
 
DW1000Timeoperator*= (float factor)
 
DW1000Time operator* (float factor) const
 
DW1000Timeoperator*= (const DW1000Time &factor)
 
DW1000Time operator* (const DW1000Time &factor) const
 
DW1000Timeoperator/= (float factor)
 
DW1000Time operator/ (float factor) const
 
DW1000Timeoperator/= (const DW1000Time &factor)
 
DW1000Time operator/ (const DW1000Time &factor) const
 
boolean operator== (const DW1000Time &cmp) const
 
boolean operator!= (const DW1000Time &cmp) const
 
void print ()
 
size_t printTo (Print &p) const
 

Static Public Attributes

static constexpr float TIME_RES = 0.000015650040064103f
 
static constexpr float TIME_RES_INV = 63897.6f
 
static constexpr float DISTANCE_OF_RADIO = 0.0046917639786159f
 
static constexpr float DISTANCE_OF_RADIO_INV = 213.139451293f
 
static constexpr uint8_t LENGTH_TIMESTAMP = 5
 
static constexpr int64_t TIME_OVERFLOW = 0x10000000000
 
static constexpr int64_t TIME_MAX = 0xffffffffff
 
static constexpr float SECONDS = 1e6
 
static constexpr float MILLISECONDS = 1e3
 
static constexpr float MICROSECONDS = 1
 
static constexpr float NANOSECONDS = 1e-3
 

Detailed Description

Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.

Constructor & Destructor Documentation

DW1000Time::DW1000Time ( )
DW1000Time::DW1000Time ( int64_t  time)

Initiates DW1000Time with timestamp

Parameters
timetimestamp with intervall 1 is approx. 15ps
DW1000Time::DW1000Time ( byte  data[])

Initiates DW1000Time with timestamp

Parameters
datatimestamp as byte array
DW1000Time::DW1000Time ( const DW1000Time copy)

Initiates DW100Time with another instance

Parameters
copyother instance
DW1000Time::DW1000Time ( float  timeUs)

Initiates DW100Time with micro seconds

Parameters
timeUstime in micro seconds
Todo:
maybe replace by better function without float
DW1000Time::DW1000Time ( int32_t  value,
float  factorUs 
)

Initiates DW100Time with time and factor

Parameters
valuetime
factorUsmultiply factor for time
Todo:
maybe replace by better function without float
DW1000Time::~DW1000Time ( )

Member Function Documentation

float DW1000Time::getAsFloat ( ) const

Return real time in micro seconds

Returns
time in micro seconds
Deprecated:
use getAsMicroSeconds()
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
float DW1000Time::getAsMeters ( ) const

Return time as distance in meter, d=c*t this is useful for e.g. time of flight

Returns
distance in meters
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
float DW1000Time::getAsMicroSeconds ( ) const

Return real time in micro seconds

Returns
time in micro seconds
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
int64_t DW1000Time::getTimestamp ( ) const

Get timestamp as integer

Returns
timestamp as integer
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
void DW1000Time::getTimestamp ( byte  data[]) const

Get timestamp as byte array

Parameters
datavar where data should be written
bool DW1000Time::isValidTimestamp ( )

Check if timestamp is valid for usage with DW1000 device

Returns
true if valid, false if negative or overflow (maybe after calculation)
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
boolean DW1000Time::operator!= ( const DW1000Time cmp) const
DW1000Time DW1000Time::operator* ( float  factor) const
DW1000Time DW1000Time::operator* ( const DW1000Time factor) const
DW1000Time & DW1000Time::operator*= ( float  factor)
DW1000Time & DW1000Time::operator*= ( const DW1000Time factor)
DW1000Time DW1000Time::operator+ ( const DW1000Time add) const
DW1000Time & DW1000Time::operator+= ( const DW1000Time add)
DW1000Time DW1000Time::operator- ( const DW1000Time sub) const
DW1000Time & DW1000Time::operator-= ( const DW1000Time sub)
DW1000Time DW1000Time::operator/ ( float  factor) const
DW1000Time DW1000Time::operator/ ( const DW1000Time factor) const
DW1000Time & DW1000Time::operator/= ( float  factor)
DW1000Time & DW1000Time::operator/= ( const DW1000Time factor)
DW1000Time & DW1000Time::operator= ( const DW1000Time assign)
boolean DW1000Time::operator== ( const DW1000Time cmp) const
void DW1000Time::print ( )

For debuging, print timestamp pretty as integer with arduinos serial

Deprecated:
use Serial.print(object)
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
size_t DW1000Time::printTo ( Print &  p) const

Print timestamp of instance as integer with e.g. Serial.print()

Parameters
pprinter instance
Returns
size of printed chars
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
void DW1000Time::setTime ( float  timeUs)

Initiates DW100Time with micro seconds

Parameters
timeUstime in micro seconds
Todo:
maybe replace by better function without float
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
void DW1000Time::setTime ( int32_t  value,
float  factorUs 
)

Set DW100Time with time and factor

Parameters
valuetime
factorUsmultiply factor for time
Todo:
maybe replace by better function without float
void DW1000Time::setTimestamp ( int64_t  value)

Set timestamp

Parameters
value- timestamp with intervall 1 is approx. 15ps
Examples:
/home/az/Dropbox/work/Arduino/az-z/arduino-dw1000/src/DW1000Time.cpp.
void DW1000Time::setTimestamp ( byte  data[])

Set timestamp

Parameters
datatimestamp as byte array
void DW1000Time::setTimestamp ( const DW1000Time copy)

Set timestamp from other instance

Parameters
copyinstance where the timestamp should be copied
DW1000Time & DW1000Time::wrap ( )

Member Data Documentation

constexpr float DW1000Time::DISTANCE_OF_RADIO = 0.0046917639786159f
static
constexpr float DW1000Time::DISTANCE_OF_RADIO_INV = 213.139451293f
static
constexpr uint8_t DW1000Time::LENGTH_TIMESTAMP = 5
static
constexpr float DW1000Time::MICROSECONDS = 1
static
constexpr float DW1000Time::MILLISECONDS = 1e3
static
constexpr float DW1000Time::NANOSECONDS = 1e-3
static
constexpr float DW1000Time::SECONDS = 1e6
static
constexpr int64_t DW1000Time::TIME_MAX = 0xffffffffff
static
constexpr int64_t DW1000Time::TIME_OVERFLOW = 0x10000000000
static
constexpr float DW1000Time::TIME_RES = 0.000015650040064103f
static
constexpr float DW1000Time::TIME_RES_INV = 63897.6f
static

The documentation for this class was generated from the following files: