Permalink
Browse files

Removed deprecated code (append_to_xml); \n Added read_from_xml(); \n…

… Made digitalAcc detection bounded to IMU tick\'s world (static); \n Fixed simulationDevice xml reading.. looks a lot less confused now.
  • Loading branch information...
1 parent 63452f9 commit 42aa3910ca364429c8637093fc33c0083ab5400f Clovis Scotti committed Jun 15, 2011
@@ -135,3 +135,8 @@ void BroadcasterDevice::tryToDisconnect()
emit connectionUpdate(false);
}
+
+bool BroadcasterDevice::subscribesTo(PushBurtonGenericDevice * dev)
+{
+ return dev->getName().contains(QRegExp("push.(n8|qt)"));
+}
@@ -9,6 +9,8 @@
#include <QXmlStreamWriter>
#include <QIODevice>
+#include <QRegExp>
+
#include <QDebug>
class BroadcasterDevice : public PushBurtonGenericDevice
@@ -31,7 +33,7 @@ class BroadcasterDevice : public PushBurtonGenericDevice
bool subscribesToAny() { return true; }
//This function will return true when the given device is a AirTimeDetector
- bool subscribesTo(PushBurtonGenericDevice*) { return true; }
+ bool subscribesTo(PushBurtonGenericDevice*);
bool start_run();
bool end_run();
@@ -1,90 +1,109 @@
-/*
- * Copyright (c) 2011 Nokia Corporation
- *
- * This file is part of the Push Snowboarding Project, More info at:
- * www.pushsnowboading.com
- *
- * Author: Clovis Scotti <scotti@ieee.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-#include "npushacctick.h"
-
-NPushAccTick::NPushAccTick(QAccelerometerReading * reading)
-{
- tick.copyValuesFrom(reading);
-
- uint secs_to_epoch;
- uint msecs;
-
- secs_to_epoch = QDateTime::currentDateTime().toTime_t();
- msecs = QTime::currentTime().msec();
- uint aft = QDateTime::currentDateTime().toTime_t();
-
- //ugly work around, will be fized with msecsToEpoc from Qt 4.7
- if(aft != secs_to_epoch)//on a second slip
- {
- msecs = 0;
- secs_to_epoch = aft;
- }
-
- msecsToEpoch = (double)secs_to_epoch*1000.0+(double)msecs;
-
- pAccAbsMag = qSqrt(tick.x()*tick.x()+
- tick.y()*tick.y()+
- tick.z()*tick.z());
-}
-
-//Used to generate simulated ticks (tstamp comes directly from the xml file)
-NPushAccTick::NPushAccTick(QAccelerometerReading * reading, quint64 a_msecsToEpoch)
-{
- tick.copyValuesFrom(reading);
- msecsToEpoch = a_msecsToEpoch;
-
- pAccAbsMag = qSqrt(tick.x()*tick.x()+
- tick.y()*tick.y()+
- tick.z()*tick.z());
-}
-
-NPushAccTick::~NPushAccTick()
-{
-}
-
-void NPushAccTick::dump_to_xml(QXmlStreamWriter& xml) const
-{
- xml.writeStartElement("acc_data");
-
- xml.writeAttribute("tstamp", QString::number(((double)msecsToEpoch)/(double)1000.0, 'f', 3));
-
- xml.writeAttribute("x", QString::number(tick.x()));
- xml.writeAttribute("y", QString::number(tick.y()));
- xml.writeAttribute("z", QString::number(tick.z()));
- xml.writeAttribute("r", QString::number(pAccAbsMag));
- xml.writeEndElement();//acc_data
-}
-
-QString NPushAccTick::get_pretty_print() const
-{
- return QString("P.Acc= %1;%2;%3")
- .arg(QString::number(tick.x()))
- .arg(QString::number(tick.y()))
- .arg(QString::number(tick.z()));
-}
-
+/*
+ * Copyright (c) 2011 Nokia Corporation
+ *
+ * This file is part of the Push Snowboarding Project, More info at:
+ * www.pushsnowboading.com
+ *
+ * Author: Clovis Scotti <scotti@ieee.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#include "npushacctick.h"
+
+NPushAccTick::NPushAccTick(QAccelerometerReading * reading)
+{
+ tick.copyValuesFrom(reading);
+
+ uint secs_to_epoch;
+ uint msecs;
+
+ secs_to_epoch = QDateTime::currentDateTime().toTime_t();
+ msecs = QTime::currentTime().msec();
+ uint aft = QDateTime::currentDateTime().toTime_t();
+
+ //ugly work around, will be fized with msecsToEpoc from Qt 4.7
+ if(aft != secs_to_epoch)//on a second slip
+ {
+ msecs = 0;
+ secs_to_epoch = aft;
+ }
+
+ msecsToEpoch = (double)secs_to_epoch*1000.0+(double)msecs;
+
+ pAccAbsMag = qSqrt(tick.x()*tick.x()+
+ tick.y()*tick.y()+
+ tick.z()*tick.z());
+}
+
+//Used to generate simulated ticks (tstamp comes directly from the xml file)
+NPushAccTick::NPushAccTick(QAccelerometerReading * reading, quint64 a_msecsToEpoch)
+{
+ tick.copyValuesFrom(reading);
+ msecsToEpoch = a_msecsToEpoch;
+
+ pAccAbsMag = qSqrt(tick.x()*tick.x()+
+ tick.y()*tick.y()+
+ tick.z()*tick.z());
+}
+
+NPushAccTick::~NPushAccTick()
+{
+}
+
+void NPushAccTick::read_from_xml( QXmlStreamReader& xml)
+{
+ // if(xml.attributes().hasAttribute("x"))
+ tick.setX(xml.attributes().value("x").toString().toFloat());
+
+ // if(xml.attributes().hasAttribute("y"))
+ tick.setY(xml.attributes().value("y").toString().toFloat());
+
+ // if(xml.attributes().hasAttribute("z"))
+ tick.setZ(xml.attributes().value("z").toString().toFloat());
+
+ pAccAbsMag = qSqrt(tick.x()*tick.x()+
+ tick.y()*tick.y()+
+ tick.z()*tick.z());
+
+ // if(xml.attributes().hasAttribute("tstamp"))
+ msecsToEpoch = (quint64)((double)xml.attributes().value("tstamp").toString().toDouble()*1000.0);
+}
+
+void NPushAccTick::dump_to_xml(QXmlStreamWriter& xml) const
+{
+ xml.writeStartElement("acc_data");
+
+ xml.writeAttribute("tstamp", QString::number(((double)msecsToEpoch)/(double)1000.0, 'f', 3));
+
+ xml.writeAttribute("x", QString::number(tick.x()));
+ xml.writeAttribute("y", QString::number(tick.y()));
+ xml.writeAttribute("z", QString::number(tick.z()));
+ xml.writeAttribute("r", QString::number(pAccAbsMag));
+ xml.writeEndElement();//acc_data
+}
+
+QString NPushAccTick::get_pretty_print() const
+{
+ return QString("P.Acc= %1;%2;%3")
+ .arg(QString::number(tick.x()))
+ .arg(QString::number(tick.y()))
+ .arg(QString::number(tick.z()));
+}
+
View
@@ -1,57 +1,60 @@
-/*
- * Copyright (c) 2011 Nokia Corporation
- *
- * This file is part of the Push Snowboarding Project, More info at:
- * www.pushsnowboading.com
- *
- * Author: Clovis Scotti <scotti@ieee.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-#ifndef NPUSHACCTICK_H
-#define NPUSHACCTICK_H
-
-#include "npushlogtick.h"
-#include <qmath.h>
-#include <QAccelerometer>
-#include <QtXml>
-#include <QTime>
-
-QTM_USE_NAMESPACE
-class NPushAccTick : public NPushLogTick
-{
-public:
- NPushAccTick(QAccelerometerReading * reading);
- NPushAccTick(QAccelerometerReading * reading, quint64 a_msecsToEpoch);
- ~NPushAccTick();
-
- void dump_to_xml(QXmlStreamWriter& xml) const;
-
- QString get_pretty_print() const;
-
- QAccelerometerReading tick;
- qreal pAccAbsMag;
-
- quint64 msecsToEpoch;
-
- static const qreal freefall_threshold = 7.0;
-};
-
-#endif // NPUSHACCTICK_H
+/*
+ * Copyright (c) 2011 Nokia Corporation
+ *
+ * This file is part of the Push Snowboarding Project, More info at:
+ * www.pushsnowboading.com
+ *
+ * Author: Clovis Scotti <scotti@ieee.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef NPUSHACCTICK_H
+#define NPUSHACCTICK_H
+
+#include "npushlogtick.h"
+#include <qmath.h>
+#include <QAccelerometer>
+#include <QtXml>
+#include <QTime>
+
+QTM_USE_NAMESPACE
+class NPushAccTick : public NPushLogTick
+{
+public:
+ NPushAccTick() {}
+ NPushAccTick(QAccelerometerReading * reading);
+ NPushAccTick(QAccelerometerReading * reading, quint64 a_msecsToEpoch);
+
+ virtual ~NPushAccTick();
+
+ virtual void read_from_xml( QXmlStreamReader& xml);
+ virtual void dump_to_xml(QXmlStreamWriter& xml) const;
+
+ virtual QString get_pretty_print() const;
+
+ QAccelerometerReading tick;
+ qreal pAccAbsMag;
+
+ quint64 msecsToEpoch;
+
+ static const qreal freefall_threshold = 7.0;
+};
+
+#endif // NPUSHACCTICK_H
Oops, something went wrong.

0 comments on commit 42aa391

Please sign in to comment.