first commit
[blok] / athread.cpp
1 #include <QFile>
2 #include <QTextStream>
3 #include <QTimer>
4 #include <QStringList>
5
6 #include "athread.h"
7
8 aThread::aThread(QObject *parent)
9     : QThread(parent)
10 {
11 }
12
13 void aThread::run()
14 {
15     QTimer timer;
16     connect(&timer, SIGNAL(timeout()), this, SLOT(updateCoords()));
17     timer.start(10); // 50 Hz update rate
18     exec();
19 }
20
21 void aThread::updateCoords()
22 {
23      QFile file("/sys/class/i2c-adapter/i2c-3/3-001d/coord");
24      if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
25          return;
26      QTextStream in(&file);
27      QString data = in.readAll();
28      processCoords(data);
29 }
30
31 void aThread::processCoords(QString &data)
32 {
33     QStringList data_splited = data.split(" ");
34
35     x = data_splited[0];
36     y = data_splited[1];
37     z = data_splited[2];
38
39     emit deviceOrientation(x, y, z);
40 }
41
42