Log tries master
authorThomas Pietrzak <thomas.pietrzak@gmail.com>
Wed, 27 Mar 2013 10:27:48 +0000 (10:27 +0000)
committerThomas Pietrzak <thomas.pietrzak@gmail.com>
Wed, 27 Mar 2013 10:27:48 +0000 (10:27 +0000)
git-svn-id: svn+ssh://thomaspietrzak.com/var/svn/rep@110 47cf9a05-e0a8-4ed5-9e9b-101a649bc004

TactileMenus/SetupMenu.ui
TactileMenus/TactileMenus.cpp
TactileMenus/TactileMenus.h
TactileMenus/TactileMenus.vcxproj

index c49073b8ed796f873d1bd03b11a0509018c61d98..700ca50ba55937bbf0cee01469fa7b58ad5b4824 100644 (file)
@@ -69,7 +69,7 @@
          <number>100</number>\r
         </property>\r
         <property name="value">\r
-         <number>8</number>\r
+         <number>4</number>\r
         </property>\r
        </widget>\r
       </item>\r
index 941325d629e6cd4cb05d99187e84a759319cd98c..74fc6c93aff38ca3d337a1a6288c63b29819abb4 100644 (file)
@@ -5,7 +5,7 @@
 #include <QDate>\r
 \r
 TactileMenus::TactileMenus(QWidget *parent, Qt::WFlags flags)\r
-       : QMainWindow(parent, flags), _menu(NULL), _signalMapper(NULL), _currenttrial(0)\r
+       : QMainWindow(parent, flags), _menu(NULL), _signalMapper(NULL), _currenttrial(0), _touchscreen(new USBHIDImmersionTouchscreen())\r
 {\r
        setupUi(this);\r
        QWidget::showMaximized();\r
@@ -59,7 +59,12 @@ void TactileMenus::init(QString user, QString condition,
 \r
                 //activate hover feedback\r
                 if (hoverFeedback)\r
-                       connect(a, SIGNAL(hovered()), this, SLOT(pouet()));\r
+                {\r
+                        if (condition == "Wristband")\r
+                               connect(a, SIGNAL(hovered()), this, SLOT(pouet()));\r
+                        else if (condition == "Touchscreen")\r
+                               connect(a, SIGNAL(hovered()), this, SLOT(bzzz()));\r
+                }\r
          _signalMapper->setMapping(a, i);\r
      }\r
      connect(_signalMapper, SIGNAL(mapped(int)), this, SLOT(execute(int)));\r
@@ -69,7 +74,12 @@ void TactileMenus::init(QString user, QString condition,
 \r
         //leave feedback\r
         if (leaveFeedback)\r
-                connect(_menu, SIGNAL(left()), this, SLOT(pouet()));\r
+        {\r
+               if (condition == "Wristband")\r
+                       connect(_menu, SIGNAL(left()), this, SLOT(pouet()));\r
+               else if (condition == "Touchscreen")\r
+                       connect(_menu, SIGNAL(left()), this, SLOT(bzzz()));\r
+        }\r
 \r
        //create log file\r
        QString date = QDate::currentDate().toString("yyyy-MM-dd") + "-" + QTime::currentTime().toString("HH-mm-ss");\r
@@ -77,7 +87,7 @@ void TactileMenus::init(QString user, QString condition,
        _logfile = fopen(logfilename.toStdString().c_str(), "w");\r
        qDebug() << "log: " << logfilename;\r
        if (_logfile)\r
-               fprintf(_logfile, "TotalTime,SelectionTime,User,Condition,Block,HFeedback,LFeedback,TFeedback,Width,Item,Selected\n");\r
+               fprintf(_logfile, "TotalTime,SelectionTime,User,Condition,Block,HFeedback,LFeedback,TFeedback,Width,Tries,Item,Selected\n");\r
 \r
 \r
        //generate the block\r
@@ -108,13 +118,14 @@ void TactileMenus::runTrial()
        _text->setText(QString::number(_trials.at(_currenttrial).first));\r
        _menu->setWidth(_trials.at(_currenttrial).second);\r
        _timer.restart();\r
+       _nbtries = 0;\r
        //_timer2.restart();\r
 }\r
 \r
 void TactileMenus::log(int val)\r
 {\r
        if (_logfile)\r
-               fprintf(_logfile, "%lld,%lld,%s,%s,%d,%d,%d,%d,%d,%d,%d\n",\r
+               fprintf(_logfile, "%lld,%lld,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d\n",\r
                        _timer.elapsed(),\r
                        _timer2.elapsed(),\r
                        _user.toStdString().c_str(),\r
@@ -124,6 +135,7 @@ void TactileMenus::log(int val)
                        _leaveFeedback,\r
                        _triggerFeedback,\r
                        _trials.at(_currenttrial).second,\r
+                       _nbtries,\r
                        _trials.at(_currenttrial).first,\r
                        val);\r
 }\r
@@ -143,6 +155,7 @@ void TactileMenus::menuCancel()
 {\r
        //log outside the menu\r
        log(-1);\r
+       _nbtries++;\r
 //     _timer2.restart();\r
 }\r
 \r
@@ -150,9 +163,14 @@ void TactileMenus::execute(int val)
 {\r
        log(val);\r
 \r
-       //feedback?\r
-       if (_triggerFeedback && _tactonPlayer)\r
-               _tactonPlayer->play(Tacton(0x0f, 15, 250, 255));\r
+       //trigger feedback\r
+       if (_triggerFeedback)\r
+       {\r
+               if (_condition == "Wristband" && _tactonPlayer)\r
+                       _tactonPlayer->play(Tacton(0x0f, 15, 250, 255));\r
+               else if (_condition == "Touchscreen" && _touchscreen)\r
+                       _touchscreen->playEffect(1, 1);\r
+       }\r
 \r
        //No progress if it is not the right item\r
        if (val != _trials.at(_currenttrial).first)\r
@@ -179,4 +197,11 @@ void TactileMenus::pouet()
 {\r
        if (_tactonPlayer)\r
                _tactonPlayer->play(Tacton(0x0f, 10, 100, 150));\r
-}
\ No newline at end of file
+}\r
+\r
+void TactileMenus::bzzz()\r
+{\r
+       if (_touchscreen)\r
+               _touchscreen->playEffect(11, 1);\r
+}\r
+\r
index 61c4d38a73259f9023543dd11eab9500d2f8caa1..58c9d39065ee6e25119d30c9e56f5e0ba74fa290 100644 (file)
@@ -8,6 +8,7 @@
 #include <QElapsedTimer>\r
 \r
 #include <TactonPlayer/TactonPlayer.hpp>\r
+#include "..\..\dwell\TouchscreenButton\USBHIDImmersionTouchscreen.h"\r
 \r
 class TactileMenus : public QMainWindow, public Ui::TactileMenusClass\r
 {\r
@@ -27,6 +28,7 @@ class TactileMenus : public QMainWindow, public Ui::TactileMenusClass
        public slots:\r
                void execute(int);\r
                void pouet();\r
+               void bzzz();\r
                void menuCancel();\r
 \r
        signals:\r
@@ -39,6 +41,7 @@ class TactileMenus : public QMainWindow, public Ui::TactileMenusClass
                TMenu *_menu;\r
                QSignalMapper *_signalMapper;\r
                TactonPlayer *_tactonPlayer;\r
+               USBHIDImmersionTouchscreen *_touchscreen;\r
 \r
                //setup variables\r
                QString _user;\r
@@ -54,6 +57,7 @@ class TactileMenus : public QMainWindow, public Ui::TactileMenusClass
                FILE *_logfile;\r
                QList<QPair<int, int> > _trials;\r
                int _currenttrial;\r
+               int _nbtries;\r
                QElapsedTimer _timer, _timer2;\r
 };\r
 \r
index a3911d080fdb7b2bca47fbb0cf595c608273e00a..d14f0c1860b0cea9b128586991ba311b1eafb083 100644 (file)
@@ -56,7 +56,7 @@
       <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>\r
       <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <AdditionalDependencies>TactonPlayerd.lib;qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>hidapid.lib;TactonPlayerd.lib;qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
       <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>\r
       <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>false</GenerateDebugInformation>\r
-      <AdditionalDependencies>TactonPlayer.lib;qtmain.lib;QtCore4.lib;QtGui4.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>hidapi.lib;TactonPlayer.lib;qtmain.lib;QtCore4.lib;QtGui4.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
+    <ClCompile Include="..\..\dwell\TouchscreenButton\USBHIDImmersionTouchscreen.cpp" />\r
     <ClCompile Include="GeneratedFiles\Debug\moc_SetupMenu.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </ClCompile>\r
     </CustomBuild>\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <ClInclude Include="..\..\dwell\TouchscreenButton\USBHIDImmersionTouchscreen.h" />\r
     <ClInclude Include="GeneratedFiles\ui_SetupMenu.h" />\r
     <ClInclude Include="GeneratedFiles\ui_tactilemenus.h" />\r
     <CustomBuild Include="SetupMenu.h">\r