void PushN8IMUDevice::gotDataReceived(QString data) { QStringList params; if(getPackage(data, params)) { //detect negative values to switch to digital mode. if(!digitalAcc) { if(params[4].toInt() < 0 || params[5].toInt() < 0 || params[6].toInt() < 0) { digitalAcc = true; } } NPushIMUTick * newIMUTick = new NPushIMUTick(params); newIMUTick->digitalAcc = digitalAcc; // qDebug() << "Parms: " << params[1] << "," << params[2] << "," << params[3]; if(receivers(SIGNAL(reading_ready(NPushLogTick*))) > 0) { //anyone listening to us emit reading_ready(newIMUTick); } else { delete newIMUTick; } }
void PushN8SimulationDevice::timerEvent(QTimerEvent *) { while(!(xml.isEndElement() && xml.name() == "N8SensorsLog")) { bool reachedEnd = false; while(xml.readNextStartElement()) { NPushLogTick * newTick = 0; if(xml.name() == "acc_data") { newTick = readAccTick(); } else if(xml.name() == "mag_data") { newTick = readMagTick(); } else if(xml.name() == "gps_data") { newTick = readGpsTick(); } else if(xml.name() == "imu_data") { newTick = readImuTick(); //Imu tick has inner elements, when it returns we can quit reachedEnd = true; } else if(xml.name() == "gsr_data") { newTick = readGsrTick(); } else if(xml.name() == "heart_data") { newTick = readHeartTick(); } else if(xml.name() == "foot_data") { newTick = readFootTick(); } else { // qDebug() << "Unrecognized tag " << xml.name(); xml.skipCurrentElement(); } if(newTick != 0) { if(receivers(SIGNAL(reading_ready(NPushLogTick*))) > 0) { emit reading_ready(newTick); } else { delete newTick; } } if(reachedEnd) break; } if(xml.isEndElement() && xml.name() == "N8SensorsLog") { qDebug() << "Simulation Ended!!"; this->stop_readings(); } }
void PushN8PhoneMag::timerEvent(QTimerEvent *) { if(!is_online()) return; NPushMagTick * newMagTick = new NPushMagTick(magSensor->reading()); if(receivers(SIGNAL(reading_ready(NPushLogTick*))) > 0) { emit reading_ready(newMagTick); } else { delete newMagTick;
void PushN8IMUDevice::gotDataReceived(QString data) { QStringList params; if(getPackage(data, params)) { NPushIMUTick * newIMUTick = new NPushIMUTick(params); // qDebug() << "Parms: " << params[1] << "," << params[2] << "," << params[3]; if(receivers(SIGNAL(reading_ready(NPushLogTick*))) > 0) { //anyone listening to us emit reading_ready(newIMUTick); } else { delete newIMUTick; } }
void PushN8AbsNormFeetDevice::incoming_reading(NPushLogTick * gtick) { if(typeid(*gtick) == typeid(NPushFootTick)) { NPushFootTick * ftick = (NPushFootTick *)gtick; if(ftick->side == 'L') { pdata.LToe.update( (ftick->toes > FOOT_PRESSURE_INVALID_THRESHOLD)? ftick->toes : pdata.RToe.rawVal ); pdata.LHeel.update( (ftick->heel > FOOT_PRESSURE_INVALID_THRESHOLD)? ftick->heel : pdata.RHeel.rawVal ); } else { pdata.RToe.update( (ftick->toes > FOOT_PRESSURE_INVALID_THRESHOLD)? ftick->toes : pdata.LToe.rawVal ); pdata.RHeel.update( (ftick->heel > FOOT_PRESSURE_INVALID_THRESHOLD)? ftick->heel : pdata.LHeel.rawVal ); } if((ftick->msecsToEpoch - lastReading) < 100 && (ftick->side != lastReadingSide)) { pdata.computeSum(); pdata.computeNormFactor(); normRunCount++; NPushNormFeetTick * newTick = new NPushNormFeetTick(pdata, lastReading); if(receivers(SIGNAL(reading_ready(NPushLogTick*))) > 0) { emit reading_ready(newTick); } else { delete newTick;
void PushN8PhoneGPS::positionUpdated(QGeoPositionInfo info) { if(info.isValid() && !gpsOnline) { emit connected(); gpsOnline = true; qDebug() << "GPS now connected"; } // if(info.coordinate().isValid() && !gpsOnline) // { // //emitting connected signal when receiving first reading // emit connected(); // gpsOnline = true; // } else if(gpsOnline) { // gpsOnline = false; // emit disconnected(); // } if(!streaming) return; if(info.timestamp().isValid()) { //&& info.coordinate().isValid() QDateTime correctedTstamp; correctedTstamp = info.timestamp().addSecs(UTCOffset);//ugly localisation! info.setTimestamp(correctedTstamp); //double checking speed NPushGpsTick * newGPSTick = new NPushGpsTick(info); if(receivers(SIGNAL(reading_ready(NPushLogTick*))) > 0) { emit reading_ready(newGPSTick); } else { delete newGPSTick;