serial  1.2.1
Cross-platform, serial port library written in C++
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
Public Member Functions
serial::MillisecondTimer Class Reference

#include <unix.h>

Public Member Functions

 MillisecondTimer (const uint32_t millis)
 
int64_t remaining ()
 

Constructor & Destructor Documentation

MillisecondTimer::MillisecondTimer ( const uint32_t  millis)
60  : expiry(timespec_now())
61 {
62  int64_t tv_nsec = expiry.tv_nsec + (millis * 1e6);
63  if (tv_nsec >= 1e9) {
64  int64_t sec_diff = tv_nsec / static_cast<int> (1e9);
65  expiry.tv_nsec = tv_nsec % static_cast<int>(1e9);
66  expiry.tv_sec += sec_diff;
67  } else {
68  expiry.tv_nsec = tv_nsec;
69  }
70 }

Member Function Documentation

int64_t MillisecondTimer::remaining ( )
74 {
75  timespec now(timespec_now());
76  int64_t millis = (expiry.tv_sec - now.tv_sec) * 1e3;
77  millis += (expiry.tv_nsec - now.tv_nsec) / 1e6;
78  return millis;
79 }

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