#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
\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
\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
_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
_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
_leaveFeedback,\r
_triggerFeedback,\r
_trials.at(_currenttrial).second,\r
+ _nbtries,\r
_trials.at(_currenttrial).first,\r
val);\r
}\r
{\r
//log outside the menu\r
log(-1);\r
+ _nbtries++;\r
// _timer2.restart();\r
}\r
\r
{\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
{\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
<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