#define SENSOR_DATA_SIZE 3
template <typename TYPE>
-sensor_data<TYPE>::sensor_data() : m_data(SENSOR_DATA_SIZE)
+sensor_data<TYPE>::sensor_data() : m_data(SENSOR_DATA_SIZE), m_time_stamp(0)
{
}
template <typename TYPE>
-sensor_data<TYPE>::sensor_data(const TYPE x, const TYPE y, const TYPE z)
+sensor_data<TYPE>::sensor_data(const TYPE x, const TYPE y,
+ const TYPE z, const unsigned long long time_stamp = 0)
{
TYPE vec_data[SENSOR_DATA_SIZE] = {x, y, z};
vector<TYPE> v(SENSOR_DATA_SIZE, vec_data);
m_data = v;
+ m_time_stamp = time_stamp;
}
template <typename TYPE>
-sensor_data<TYPE>::sensor_data(const vector<TYPE> v)
+sensor_data<TYPE>::sensor_data(const vector<TYPE> v,
+ const unsigned long long time_stamp = 0)
{
m_data = v;
+ m_time_stamp = time_stamp;
}
template <typename TYPE>
sensor_data<TYPE>::sensor_data(const sensor_data<TYPE>& s)
{
m_data = s.m_data;
+ m_time_stamp = s.m_time_stamp;
}
template <typename TYPE>
sensor_data<TYPE> sensor_data<TYPE>::operator =(const sensor_data<TYPE>& s)
{
m_data = s.m_data;
+ m_time_stamp = s.m_time_stamp;
return *this;
}
y /= val;
z /= val;
- sensor_data<T> s(x, y, z);
+ sensor_data<T> s(x, y, z, data.m_time_stamp);
return s;
}
y = data.m_data.m_vec[1] / scaling_factor;
z = data.m_data.m_vec[2] / scaling_factor;
- sensor_data<T> s(x, y, z);
+ sensor_data<T> s(x, y, z, data.m_time_stamp);
return s;
}
class sensor_data {
public:
vector<TYPE> m_data;
+ unsigned long long m_time_stamp;
sensor_data();
- sensor_data(const TYPE x, const TYPE y, const TYPE z);
- sensor_data(const vector<TYPE> v);
+ sensor_data(const TYPE x, const TYPE y, const TYPE z,
+ const unsigned long long time_stamp);
+ sensor_data(const vector<TYPE> v,
+ const unsigned long long time_stamp);
sensor_data(const sensor_data<TYPE>& s);
~sensor_data();
vector<float> v1(3, arr1);
- sensor_data<float> sd1(2.0, 3.0, 4.0);
+ sensor_data<float> sd1(2.0, 3.0, 4.0, 140737488355328);
sensor_data<float> sd2(1.04, -4.678, -2.34);
- sensor_data<float> sd3(0.054, 1.097, 4.456);
- sensor_data<float> sd10(v1);
+ sensor_data<float> sd3(0.054, 1.097, 4.456, 140737488355328);
+ sensor_data<float> sd10(v1, 140737488355328);
cout << "Constructor tests\n";
cout << "input\t" << v1 << "\n";
- cout << "output\t" << sd10.m_data << "\n\n";
+ cout << "output\t" << sd10.m_data << "\t" << sd10.m_time_stamp << "\n\n";
cout << "input\t" << v1 << "\n";
- cout << "output\t" << sd2.m_data<< "\n\n";
+ cout << "output\t" << sd2.m_data << "\t" << sd2.m_time_stamp << "\n\n";
cout<< "Addition:\n";
sensor_data<float> sd4 = sd1 + sd2;