37 #include "babymeginfo.h"
52 emit SendCMDPackage(DATA);
59 emit SendDataPackage(DATA);
70 for(qint32 i=0;i<cmdstr.size();i++)
92 return cmdstr.mid(bPos,ePos-bPos);
104 for (qint32 i=0;i<cmdstr.size();i++)
109 QString t = cmdstr.mid(sp,ep-sp);
131 lm_ch_scales.clear();
144 lm_ch_coiltype.clear();
145 lm_ch_calicoef.clear();
150 for(qint32 k =0; k<sList.size(); k++)
152 QString t = sList.at(k);
153 for (qint32 z=0;z<t.size();z++)
157 lm_ch_names.append(t.left(z));
160 QString tt = t.mid(z);
163 QStringList schp = tt.split(
",");
166 lm_ch_scales.append(schp.at(0));
168 lm_ch_pos1.append(schp.at(1));
169 lm_ch_pos2.append(schp.at(2));
170 lm_ch_pos3.append(schp.at(3));
171 lm_ch_pos4.append(schp.at(4));
172 lm_ch_pos5.append(schp.at(5));
173 lm_ch_pos6.append(schp.at(6));
174 lm_ch_pos7.append(schp.at(7));
175 lm_ch_pos8.append(schp.at(8));
176 lm_ch_pos9.append(schp.at(9));
177 lm_ch_pos10.append(schp.at(10));
178 lm_ch_pos11.append(schp.at(11));
179 lm_ch_pos12.append(schp.at(12));
181 lm_ch_coiltype.append(schp.at(13));
183 lm_ch_calicoef.append(schp.at(14));
185 lm_ch_gain.append(schp.at(15));
201 QByteArray CMD = cmdstr.left(4);
208 cmdstr.remove(0,T.size());
213 cmdstr.remove(0,T.size());
215 dataLength = T.toInt();
218 cmdstr.remove(0,T.size());
220 sfreq = T.toDouble();
221 qDebug()<<
"[babyMEGinfo] chnNum:" << chnNum <<
"Data Length" <<dataLength<<
"sampling rate"<<sfreq;
239 m_FiffInfo.
sfreq = sfreq;
242 m_FiffInfo.
acq_pars = QString(
"BabyMEG");
246 m_FiffInfo.
nchan = chnNum;
249 for(qint32 i = 0; i < chnNum; i++)
253 t_ch.
ch_name = lm_ch_names.at(i);
257 t_ch.
cal = lm_ch_calicoef.at(i).toDouble();
259 t_ch.
range =1.0f/lm_ch_gain.at(i).toFloat();
263 t_ch.
loc.setZero(12,1);
266 t_ch.
loc(0,0) = lm_ch_pos1.at(i).toDouble();
267 t_ch.
loc(1,0) = lm_ch_pos2.at(i).toDouble();
268 t_ch.
loc(2,0) = lm_ch_pos3.at(i).toDouble();
269 t_ch.
loc(3,0) = lm_ch_pos4.at(i).toDouble();
270 t_ch.
loc(4,0) = lm_ch_pos5.at(i).toDouble();
271 t_ch.
loc(5,0) = lm_ch_pos6.at(i).toDouble();
272 t_ch.
loc(6,0) = lm_ch_pos7.at(i).toDouble();
273 t_ch.
loc(7,0) = lm_ch_pos8.at(i).toDouble();
274 t_ch.
loc(8,0) = lm_ch_pos9.at(i).toDouble();
275 t_ch.
loc(9,0) = lm_ch_pos10.at(i).toDouble();
276 t_ch.
loc(10,0) = lm_ch_pos11.at(i).toDouble();
277 t_ch.
loc(11,0) = lm_ch_pos12.at(i).toDouble();
281 int type = lm_ch_coiltype.at(i).toInt();
290 else if (type == FIFFV_STIM_CH)
292 else if (type == FIFFV_EEG_CH)
298 t_ch.
kind = FIFFV_MEG_CH;
299 t_ch.
unit = FIFF_UNIT_T;
305 t_ch.
kind = FIFFV_MEG_CH;
306 t_ch.
unit = FIFF_UNIT_T;
312 t_ch.
kind = FIFFV_REF_MEG_CH;
313 t_ch.
unit = FIFF_UNIT_T;
319 t_ch.
kind = FIFFV_STIM_CH;
320 t_ch.
unit = FIFF_UNIT_V;
325 t_ch.
kind = FIFFV_EEG_CH;
326 t_ch.
unit = FIFF_UNIT_V;
332 t_ch.
kind = FIFFV_MEG_CH;
333 t_ch.
unit = FIFF_UNIT_T;
339 m_FiffInfo.
chs.append(t_ch);
344 emit fiffInfoAvailable(m_FiffInfo);
364 for(qint32 k =0; k<sList.size(); k++)
366 QString t = sList.at(k);
367 for (qint32 z=0;z<t.size();z++)
371 lm_ch_names.append(t.left(z));
374 QString tt = t.mid(z+1);
377 lm_ch_gain.append(tt);
378 qDebug()<<t.left(z)<<
"----"<<tt;
391 QByteArray CMD = cmdstr.left(4);
398 cmdstr.remove(0,T.size());
403 cmdstr.remove(0,T.size());
405 dataLength = T.toInt();
408 cmdstr.remove(0,T.size());
410 sfreq = T.toDouble();
411 qDebug()<<
"[babyMEG_INFG] chnNum:" << chnNum <<
"Data Length" <<dataLength<<
"sampling rate"<<sfreq;
418 emit GainInfoUpdate(lm_ch_gain);
void MGH_LM_Parse_Para(QByteArray cmdstr)
void MGH_LM_Parse_Para_Infg(QByteArray cmdstr)
void MGH_LM_Get_Channel_Infg(QByteArray cmdstr)
#define FIFFV_COIL_BABY_REF_MAG2
void MGH_LM_Get_Channel_Info(QByteArray cmdstr)
#define FIFFV_COIL_BABY_MAG
QByteArray MGH_LM_Get_Field(QByteArray cmdstr)
void MGH_LM_Send_DataPackage(QByteArray DATA)
#define FIFFV_COIL_BABY_REF_MAG
void MGH_LM_Send_CMDPackage(QByteArray DATA)
Matrix< double, 12, 1, DontAlign > loc
QStringList MGH_LM_Exact_Single_Channel_Info(QByteArray cmdstr)