17 m_MaximalPendingEvents(2),
19 m_pIMUDevice(pIMUDevice),
22 m_LastCycleReferenceTimeStamp(
CTimeStamp::s_Zero),
23 m_LastFusedCycleReferenceTimeStamp(
CTimeStamp::s_Zero),
24 m_LastIntegratedStateReferenceTimeStamp(
CTimeStamp::s_Zero),
25 m_LastCustomEventReferenceTimeStamp(
CTimeStamp::s_Zero)
27 pthread_mutex_init(&m_DispatchingModeMutex,
nullptr);
28 pthread_mutex_init(&m_MaximalPendingEventsMutex,
nullptr);
29 pthread_mutex_init(&m_EventFlagsMutex,
nullptr);
30 pthread_mutex_init(&m_IMUDeviceMutex,
nullptr);
31 pthread_mutex_init(&m_EventsQueueMutex,
nullptr);
32 pthread_mutex_init(&m_LastStartTimeStampMutex,
nullptr);
33 pthread_mutex_init(&m_LastStopTimeStampMutex,
nullptr);
34 pthread_mutex_init(&m_LastCycleReferenceTimeStampMutex,
nullptr);
35 pthread_mutex_init(&m_LastFusedCycleReferenceTimeStampMutex,
nullptr);
36 pthread_mutex_init(&m_LastIntegratedStateReferenceTimeStampMutex,
nullptr);
37 pthread_mutex_init(&m_LastCustomEventReferenceTimeStampMutex,
nullptr);
42 m_MaximalPendingEvents(2),
44 m_pIMUDevice(nullptr),
48 m_LastCycleReferenceTimeStamp(
CTimeStamp::s_Zero),
49 m_LastFusedCycleReferenceTimeStamp(
CTimeStamp::s_Zero),
50 m_LastIntegratedStateReferenceTimeStamp(
CTimeStamp::s_Zero),
51 m_LastCustomEventReferenceTimeStamp(
CTimeStamp::s_Zero)
53 pthread_mutex_init(&m_DispatchingModeMutex,
nullptr);
54 pthread_mutex_init(&m_MaximalPendingEventsMutex,
nullptr);
55 pthread_mutex_init(&m_EventFlagsMutex,
nullptr);
56 pthread_mutex_init(&m_IMUDeviceMutex,
nullptr);
57 pthread_mutex_init(&m_EventsQueueMutex,
nullptr);
58 pthread_mutex_init(&m_LastStartTimeStampMutex,
nullptr);
59 pthread_mutex_init(&m_LastStopTimeStampMutex,
nullptr);
60 pthread_mutex_init(&m_LastCycleReferenceTimeStampMutex,
nullptr);
61 pthread_mutex_init(&m_LastFusedCycleReferenceTimeStampMutex,
nullptr);
62 pthread_mutex_init(&m_LastIntegratedStateReferenceTimeStampMutex,
nullptr);
63 pthread_mutex_init(&m_LastCustomEventReferenceTimeStampMutex,
nullptr);
154 const bool HandelEvent = Event.
GetEventType() & m_EventFlags;
163 if (m_EventsQueue.size() == m_MaximalPendingEvents)
165 m_EventsQueue.pop_front();
168 m_EventsQueue.push_back(Event);
175 gettimeofday(&m_LastCycleReferenceTimeStamp,
nullptr);
181 gettimeofday(&m_LastFusedCycleReferenceTimeStamp,
nullptr);
187 gettimeofday(&m_LastIntegratedStateReferenceTimeStamp,
nullptr);
193 gettimeofday(&m_LastCustomEventReferenceTimeStamp,
nullptr);
199 gettimeofday(&m_LastStartTimeStamp,
nullptr);
205 gettimeofday(&m_LastStopTimeStamp,
nullptr);
240 m_LastStartTimeStamp = Reference;
244 m_LastStopTimeStamp = Reference;
248 m_LastCycleReferenceTimeStamp = Reference;
252 m_LastFusedCycleReferenceTimeStamp = Reference;
256 m_LastIntegratedStateReferenceTimeStamp = Reference;
260 m_LastCustomEventReferenceTimeStamp = Reference;