61 : m_pECGSimulator(simulator)
62 , m_pdBuffer_I(buffer_I)
63 , m_pdBuffer_II(buffer_II)
64 , m_pdBuffer_III(buffer_III)
93 unsigned int uiSamplePeriod = (
unsigned int) (1000000.0/(m_pECGSimulator->m_fSamplingRate));
96 int uiCounter_III = 0;
105 usleep(uiSamplePeriod);
108 if(m_pECGSimulator->m_pECGChannel_ECG_I->isEnabled())
110 if(uiCounter_I >= (m_pECGSimulator->m_pECGChannel_ECG_I->getSamples().size()-1))
115 for(
unsigned char i = 0; i < m_pECGSimulator->m_iDownsamplingFactor; ++i)
117 value_I = value_I + m_pECGSimulator->m_pECGChannel_ECG_I->getSamples()[uiCounter_I];
120 value_I = value_I / m_pECGSimulator->m_iDownsamplingFactor;
121 m_pdBuffer_I->push(value_I);
123 uiCounter_I = uiCounter_I + m_pECGSimulator->m_iDownsamplingFactor;
127 if(m_pECGSimulator->m_pECGChannel_ECG_II->isEnabled())
129 if(uiCounter_II >= (m_pECGSimulator->m_pECGChannel_ECG_II->getSamples().size()-1))
134 for(
unsigned char i = 0; i < m_pECGSimulator->m_iDownsamplingFactor; ++i)
136 value_II = value_II + m_pECGSimulator->m_pECGChannel_ECG_II->getSamples()[uiCounter_II];
139 value_II = value_II / m_pECGSimulator->m_iDownsamplingFactor;
140 m_pdBuffer_II->push(value_II);
142 uiCounter_II = uiCounter_II + m_pECGSimulator->m_iDownsamplingFactor;
146 if(m_pECGSimulator->m_pECGChannel_ECG_III->isEnabled())
148 if(uiCounter_III >= (m_pECGSimulator->m_pECGChannel_ECG_III->getSamples().size()-1))
153 for(
unsigned char i = 0; i < m_pECGSimulator->m_iDownsamplingFactor; ++i)
156 value_III = value_III + m_pECGSimulator->m_pECGChannel_ECG_III->getSamples()[uiCounter_III];
159 value_III = value_III / m_pECGSimulator->m_iDownsamplingFactor;
160 m_pdBuffer_III->push(value_III);
162 uiCounter_III = uiCounter_III + m_pECGSimulator->m_iDownsamplingFactor;
Contains the declaration of the ECGProducer class.
The ECGSimulator class provides a ECG simulator.
Contains the declaration of the ECGSimulator class.
ECGProducer(ECGSimulator *simulator, dBuffer::SPtr &buffer_I, dBuffer::SPtr &buffer_II, dBuffer::SPtr &buffer_III)