From: Thomas Pietrzak Date: Wed, 27 Mar 2013 10:27:48 +0000 (+0000) Subject: Log tries X-Git-Url: https://git.thomaspietrzak.com/?a=commitdiff_plain;p=tactonexperiment.git Log tries git-svn-id: svn+ssh://thomaspietrzak.com/var/svn/rep@110 47cf9a05-e0a8-4ed5-9e9b-101a649bc004 --- diff --git a/TactileMenus/SetupMenu.ui b/TactileMenus/SetupMenu.ui index c49073b..700ca50 100644 --- a/TactileMenus/SetupMenu.ui +++ b/TactileMenus/SetupMenu.ui @@ -69,7 +69,7 @@ 100 - 8 + 4 diff --git a/TactileMenus/TactileMenus.cpp b/TactileMenus/TactileMenus.cpp index 941325d..74fc6c9 100644 --- a/TactileMenus/TactileMenus.cpp +++ b/TactileMenus/TactileMenus.cpp @@ -5,7 +5,7 @@ #include TactileMenus::TactileMenus(QWidget *parent, Qt::WFlags flags) - : QMainWindow(parent, flags), _menu(NULL), _signalMapper(NULL), _currenttrial(0) + : QMainWindow(parent, flags), _menu(NULL), _signalMapper(NULL), _currenttrial(0), _touchscreen(new USBHIDImmersionTouchscreen()) { setupUi(this); QWidget::showMaximized(); @@ -59,7 +59,12 @@ void TactileMenus::init(QString user, QString condition, //activate hover feedback if (hoverFeedback) - connect(a, SIGNAL(hovered()), this, SLOT(pouet())); + { + if (condition == "Wristband") + connect(a, SIGNAL(hovered()), this, SLOT(pouet())); + else if (condition == "Touchscreen") + connect(a, SIGNAL(hovered()), this, SLOT(bzzz())); + } _signalMapper->setMapping(a, i); } connect(_signalMapper, SIGNAL(mapped(int)), this, SLOT(execute(int))); @@ -69,7 +74,12 @@ void TactileMenus::init(QString user, QString condition, //leave feedback if (leaveFeedback) - connect(_menu, SIGNAL(left()), this, SLOT(pouet())); + { + if (condition == "Wristband") + connect(_menu, SIGNAL(left()), this, SLOT(pouet())); + else if (condition == "Touchscreen") + connect(_menu, SIGNAL(left()), this, SLOT(bzzz())); + } //create log file QString date = QDate::currentDate().toString("yyyy-MM-dd") + "-" + QTime::currentTime().toString("HH-mm-ss"); @@ -77,7 +87,7 @@ void TactileMenus::init(QString user, QString condition, _logfile = fopen(logfilename.toStdString().c_str(), "w"); qDebug() << "log: " << logfilename; if (_logfile) - fprintf(_logfile, "TotalTime,SelectionTime,User,Condition,Block,HFeedback,LFeedback,TFeedback,Width,Item,Selected\n"); + fprintf(_logfile, "TotalTime,SelectionTime,User,Condition,Block,HFeedback,LFeedback,TFeedback,Width,Tries,Item,Selected\n"); //generate the block @@ -108,13 +118,14 @@ void TactileMenus::runTrial() _text->setText(QString::number(_trials.at(_currenttrial).first)); _menu->setWidth(_trials.at(_currenttrial).second); _timer.restart(); + _nbtries = 0; //_timer2.restart(); } void TactileMenus::log(int val) { if (_logfile) - fprintf(_logfile, "%lld,%lld,%s,%s,%d,%d,%d,%d,%d,%d,%d\n", + fprintf(_logfile, "%lld,%lld,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d\n", _timer.elapsed(), _timer2.elapsed(), _user.toStdString().c_str(), @@ -124,6 +135,7 @@ void TactileMenus::log(int val) _leaveFeedback, _triggerFeedback, _trials.at(_currenttrial).second, + _nbtries, _trials.at(_currenttrial).first, val); } @@ -143,6 +155,7 @@ void TactileMenus::menuCancel() { //log outside the menu log(-1); + _nbtries++; // _timer2.restart(); } @@ -150,9 +163,14 @@ void TactileMenus::execute(int val) { log(val); - //feedback? - if (_triggerFeedback && _tactonPlayer) - _tactonPlayer->play(Tacton(0x0f, 15, 250, 255)); + //trigger feedback + if (_triggerFeedback) + { + if (_condition == "Wristband" && _tactonPlayer) + _tactonPlayer->play(Tacton(0x0f, 15, 250, 255)); + else if (_condition == "Touchscreen" && _touchscreen) + _touchscreen->playEffect(1, 1); + } //No progress if it is not the right item if (val != _trials.at(_currenttrial).first) @@ -179,4 +197,11 @@ void TactileMenus::pouet() { if (_tactonPlayer) _tactonPlayer->play(Tacton(0x0f, 10, 100, 150)); -} \ No newline at end of file +} + +void TactileMenus::bzzz() +{ + if (_touchscreen) + _touchscreen->playEffect(11, 1); +} + diff --git a/TactileMenus/TactileMenus.h b/TactileMenus/TactileMenus.h index 61c4d38..58c9d39 100644 --- a/TactileMenus/TactileMenus.h +++ b/TactileMenus/TactileMenus.h @@ -8,6 +8,7 @@ #include #include +#include "..\..\dwell\TouchscreenButton\USBHIDImmersionTouchscreen.h" class TactileMenus : public QMainWindow, public Ui::TactileMenusClass { @@ -27,6 +28,7 @@ class TactileMenus : public QMainWindow, public Ui::TactileMenusClass public slots: void execute(int); void pouet(); + void bzzz(); void menuCancel(); signals: @@ -39,6 +41,7 @@ class TactileMenus : public QMainWindow, public Ui::TactileMenusClass TMenu *_menu; QSignalMapper *_signalMapper; TactonPlayer *_tactonPlayer; + USBHIDImmersionTouchscreen *_touchscreen; //setup variables QString _user; @@ -54,6 +57,7 @@ class TactileMenus : public QMainWindow, public Ui::TactileMenusClass FILE *_logfile; QList > _trials; int _currenttrial; + int _nbtries; QElapsedTimer _timer, _timer2; }; diff --git a/TactileMenus/TactileMenus.vcxproj b/TactileMenus/TactileMenus.vcxproj index a3911d0..d14f0c1 100644 --- a/TactileMenus/TactileMenus.vcxproj +++ b/TactileMenus/TactileMenus.vcxproj @@ -56,7 +56,7 @@ $(OutDir)\$(ProjectName).exe $(QTDIR)\lib;%(AdditionalLibraryDirectories) true - TactonPlayerd.lib;qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies) + hidapid.lib;TactonPlayerd.lib;qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies) @@ -73,10 +73,11 @@ $(OutDir)\$(ProjectName).exe $(QTDIR)\lib;%(AdditionalLibraryDirectories) false - TactonPlayer.lib;qtmain.lib;QtCore4.lib;QtGui4.lib;%(AdditionalDependencies) + hidapi.lib;TactonPlayer.lib;qtmain.lib;QtCore4.lib;QtGui4.lib;%(AdditionalDependencies) + true @@ -132,6 +133,7 @@ +