4444
4545#include < QThread>
4646#include < QtEndian>
47+ #include < QDateTime>
4748
4849// =============================================================================================================
4950// EIGEN INCLUDES
@@ -69,7 +70,7 @@ FtConnector::FtConnector()
6970, m_iExtendedHeaderSize(0 )
7071, m_iPort(1972 )
7172, m_bNewData(false )
72- , m_fSampleFreq (0 )
73+ , m_fSamplingFreq (0 )
7374, m_sAddress(" 127.0.0.1" )
7475, m_pSocket(Q_NULLPTR)
7576{
@@ -140,7 +141,7 @@ bool FtConnector::getFixedHeader()
140141
141142 // Parse return message from buffer
142143 QBuffer msgBuffer;
143- copyAllChunks (msgBuffer, sizeof (messagedef_t ));
144+ copyResponse (msgBuffer, sizeof (messagedef_t ));
144145 int bufsize = parseMessageDef (msgBuffer);
145146
146147 if (bufsize == 0 ) {
@@ -155,7 +156,7 @@ bool FtConnector::getFixedHeader()
155156
156157 // Parse header info from buffer
157158 QBuffer hdrBuffer;
158- copyAllChunks (hdrBuffer, sizeof (headerdef_t )); // if implementing header chunks: change from sizeof (headerdef) to bufsize
159+ copyResponse (hdrBuffer, sizeof (headerdef_t )); // if implementing header chunks: change from sizeof (headerdef) to bufsize
159160 parseHeaderDef (hdrBuffer);
160161
161162 return true ;
@@ -205,11 +206,11 @@ bool FtConnector::parseHeaderDef(QBuffer &readBuffer)
205206
206207 // Save paramerters
207208 m_iNumChannels = headerdef.nchans ;
208- m_fSampleFreq = headerdef.fsample ;
209+ m_fSamplingFreq = headerdef.fsample ;
209210 m_iNumNewSamples = headerdef.nsamples ;
210211 m_iDataType = headerdef.data_type ;
211212 m_iExtendedHeaderSize = headerdef.bufsize ;
212- m_iMinSampleRead = static_cast <int >(m_fSampleFreq /2 );
213+ m_iMinSampleRead = static_cast <int >(m_fSamplingFreq /2 );
213214
214215 qInfo () << " [FtConnector::parseHeaderDef] Got header parameters." ;
215216
@@ -287,7 +288,7 @@ bool FtConnector::getData()
287288
288289 // Parse return message from buffer
289290 QBuffer msgBuffer;
290- copyAllChunks (msgBuffer, sizeof (messagedef_t ));
291+ copyResponse (msgBuffer, sizeof (messagedef_t ));
291292 int bufsize = parseMessageDef (msgBuffer);
292293
293294 // Waiting for response.
@@ -297,12 +298,12 @@ bool FtConnector::getData()
297298
298299 // Parse return data def from buffer
299300 QBuffer datadefBuffer;
300- copyAllChunks (datadefBuffer, sizeof (datadef_t ));
301+ copyResponse (datadefBuffer, sizeof (datadef_t ));
301302 bufsize = parseDataDef (datadefBuffer);
302303
303304 // Parse actual data from buffer
304305 QBuffer datasampBuffer;
305- copyAllChunks (datasampBuffer, bufsize);
306+ copyResponse (datasampBuffer, bufsize);
306307 parseData (datasampBuffer, bufsize);
307308
308309 // update sample tracking
@@ -334,8 +335,8 @@ bool FtConnector::setPort(const int &iPort)
334335
335336// =============================================================================================================
336337
337- void FtConnector::copyAllChunks (QBuffer &buffer,
338- int numBytes)
338+ void FtConnector::copyResponse (QBuffer &buffer,
339+ int numBytes)
339340{
340341 buffer.open (QIODevice::ReadWrite);
341342 buffer.write (m_pSocket->read (numBytes));
@@ -395,7 +396,7 @@ void FtConnector::echoStatus()
395396 qInfo () << " | Socket: " << m_pSocket->state ();
396397 qInfo () << " | Address: " << m_sAddress << " :" << m_iPort;
397398 qInfo () << " | Channels: " << m_iNumChannels;
398- qInfo () << " | Frequency: " << m_fSampleFreq ;
399+ qInfo () << " | Frequency: " << m_fSamplingFreq ;
399400 qInfo () << " | Samples read:" << m_iNumSamples;
400401 qInfo () << " | New samples: " << m_iNumNewSamples;
401402 qInfo () << " |================================" ;
@@ -430,7 +431,7 @@ int FtConnector::totalBuffSamples()
430431
431432 // Parse return message from buffer
432433 QBuffer msgBuffer;
433- copyAllChunks (msgBuffer, sizeof (messagedef_t ));
434+ copyResponse (msgBuffer, sizeof (messagedef_t ));
434435 parseMessageDef (msgBuffer);
435436
436437 // Waiting for response.
@@ -441,7 +442,7 @@ int FtConnector::totalBuffSamples()
441442 qint32 iNumSamp;
442443
443444 QBuffer sampeventsBuffer;
444- copyAllChunks (sampeventsBuffer, sizeof (samples_events_t ));
445+ copyResponse (sampeventsBuffer, sizeof (samples_events_t ));
445446
446447 char cSamps[sizeof (iNumSamp)];
447448 sampeventsBuffer.read (cSamps, sizeof (iNumSamp));
@@ -468,19 +469,6 @@ bool FtConnector::parseData(QBuffer &datasampBuffer,
468469 QByteArray dataArray = datasampBuffer.readAll ();
469470 float * fdata = reinterpret_cast <float *> (dataArray.data ());
470471
471- // TODO: Implement receiving other types of data
472- // switch (m_iDataType) {
473- // case DATATYPE_FLOAT32:
474- // auto data = reinterpret_cast<float*>(dataArray.data(), bufsize);
475- // qDebug() << "*** Would you look at that, we're all the way here ***";
476- // qDebug() << "Data sample:";
477-
478- // for (int i = 0; i < 10 ; i++) {
479- // qDebug() << data[i];
480- // }
481- // break;
482- // }
483-
484472 // format data into eigen matrix to pass up
485473 Eigen::MatrixXf matData;
486474 matData.resize (m_iNumChannels, m_iMsgSamples);
@@ -552,14 +540,12 @@ MetaData FtConnector::parseBufferHeader()
552540
553541 qInfo () << " [FtConnector::parseNeuromagHeader] Parsing extended header\n " ;
554542 QBuffer allChunksBuffer;
555- copyAllChunks (allChunksBuffer, m_iExtendedHeaderSize);
543+ copyResponse (allChunksBuffer, m_iExtendedHeaderSize);
556544
557545 FtHeaderParser parser;
558- metadata = parser.parseHeader (allChunksBuffer);
546+ metadata = parser.parseExtendedHeader (allChunksBuffer);
559547
560- if (!metadata.bFiffInfo ){
561- metadata.setFiffinfo (infoFromSimpleHeader ());
562- }
548+ checkForMissingMetadataFields (metadata);
563549
564550 return metadata;
565551}
0 commit comments