00001 00037 #ifndef LibMultiSense_SysPpsMessage 00038 #define LibMultiSense_SysPpsMessage 00039 00040 #include "details/utility/Portability.hh" 00041 00042 namespace crl { 00043 namespace multisense { 00044 namespace details { 00045 namespace wire { 00046 00047 class SysPps { 00048 public: 00049 static CRL_CONSTEXPR IdType ID = ID_DATA_SYS_PPS; 00050 static CRL_CONSTEXPR VersionType VERSION = 1; 00051 00052 // 00053 // Sensor system clock at time of last PPS pulse 00054 00055 int64_t ppsNanoSeconds; 00056 00057 // 00058 // Constructors 00059 00060 SysPps(utility::BufferStreamReader&r, VersionType v) {serialize(r,v);}; 00061 SysPps(int64_t t=0) : ppsNanoSeconds(t) {}; 00062 00063 // 00064 // Serialization routine 00065 00066 template<class Archive> 00067 void serialize(Archive& message, 00068 const VersionType version) 00069 { 00070 message & ppsNanoSeconds; 00071 } 00072 }; 00073 00074 }}}}; // namespaces 00075 00076 #endif