From 28458773f6b61cdcc62f4a67b8bf6317ecee2009 Mon Sep 17 00:00:00 2001 From: MPIBR-kretschmerf Date: Tue, 15 Nov 2016 15:47:20 +0100 Subject: [PATCH] Fixed licks to reward and moved init to statemachine --- Mainwindow.cpp | 6 ++++-- NIDAQmxInterface.cpp | 6 ------ StateMachineController.cpp | 6 +++++- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Mainwindow.cpp b/Mainwindow.cpp index 52dd7b1..dbf3534 100644 --- a/Mainwindow.cpp +++ b/Mainwindow.cpp @@ -39,8 +39,8 @@ MainWindow::MainWindow(QWidget *parent) : ui->lineEdit_licksToReward->setValidator(intValidator); ui->lineEdit_iti->setValidator(doubleValidator); -// ui->lineEdit_fileNegative->setText("C:/Users/superuser.D-01477/Desktop/attentionGame/20160812_AttentionGame/20160812_AttentionGame/Audio/negative_state.rcx"); -// ui->lineEdit_filePositive->setText("C:/Users/superuser.D-01477/Desktop/attentionGame/20160812_AttentionGame/20160812_AttentionGame/Audio/positive_state.rcx"); + ui->lineEdit_fileNegative->setText("C:/Users/superuser.D-01477/Desktop/attentionGame/20160812_AttentionGame/20160812_AttentionGame/Audio/negative_state.rcx"); + ui->lineEdit_filePositive->setText("C:/Users/superuser.D-01477/Desktop/attentionGame/20160812_AttentionGame/20160812_AttentionGame/Audio/positive_state.rcx"); connect(&smc, SIGNAL(statusMessage(QString)), this, SLOT(onStatusMessage(QString))); connect(&smc, SIGNAL(terminated()), this, SLOT(onStateMachineTerminated())); @@ -79,8 +79,10 @@ void MainWindow::on_pushButton_Run_clicked() settings.trialSequence = TrialSeq::generateTrialSequence(sorting, ui->lineEdit_repeatPositive->text().toInt(), ui->lineEdit_repeatNegative->text().toInt()); settings.fileNameNegative = ui->lineEdit_fileNegative->text(); settings.fileNamePositive = ui->lineEdit_filePositive->text(); + settings.licksToReward = ui->lineEdit_licksToReward->text().toInt(); settings.logFileName = ui->lineEdit_outputFolder->text() + "/" + ui->lineEdit_outputFilename->text() + ".csv"; + if(ui->checkBox_itiExternal->isChecked()){ qDebug()<<"Using iti from file"; settings.itiSequence = TrialSeq::loadExternalItiSequence("./iti_external.txt", ui->lineEdit_repeatPositive->text().toInt(), ui->lineEdit_repeatNegative->text().toInt()); diff --git a/NIDAQmxInterface.cpp b/NIDAQmxInterface.cpp index 13e8045..a4dbbe1 100644 --- a/NIDAQmxInterface.cpp +++ b/NIDAQmxInterface.cpp @@ -32,10 +32,8 @@ void NIDAQmxInterface::DAQmxInitializeInterface() DAQmxErrChk(DAQmxCreateTask("DigIn", &daq->di_port)); DAQmxErrChk(DAQmxCreateDIChan(daq->di_port, "Dev1/port0", "", DAQmx_Val_ChanForAllLines)); DAQmxErrChk(DAQmxCfgChangeDetectionTiming(daq->di_port, "Dev1/port0/line2,Dev1/port0/line6", "Dev1/port0/line2,Dev1/port0/line6", DAQmx_Val_ContSamps, 1)); - //DAQmxErrChk(DAQmxRegisterSignalEvent(daq->di_port, DAQmx_Val_ChangeDetectionEvent, 0, ChangeDetectionCallbackWrapper, daq)); DAQmxErrChk(DAQmxRegisterSignalEvent(daq->di_port, DAQmx_Val_ChangeDetectionEvent, 0, ChangeDetectionCallbackWrapper, this)); - /* configure digital write task */ DAQmxErrChk(DAQmxCreateTask("DigOut", &daq->do_port)); DAQmxErrChk(DAQmxCreateDOChan(daq->do_port, "Dev1/port1", "", DAQmx_Val_ChanForAllLines)); @@ -46,12 +44,8 @@ void NIDAQmxInterface::DAQmxInitializeInterface() DAQmxErrChk(DAQmxCreateCOPulseChanTime(daq->do_clk, "Dev1/ctr0", "", DAQmx_Val_Seconds, DAQmx_Val_Low, 0, 0.05, 0.08)); DAQmxErrChk(DAQmxCfgImplicitTiming(daq->do_clk, DAQmx_Val_FiniteSamps, 1)); - //DAQmxErrChk(DAQmxRegisterDoneEvent(daq->do_clk, 0, ChangeTriggerStopCallbackWrapper, daq)); DAQmxErrChk(DAQmxRegisterDoneEvent(daq->do_clk, 0, ChangeTriggerStopCallbackWrapper, this)); - /* initialize query performance timer QPC */ - //QPCInitialize(); - /* start custom task */ DAQmxStartCustomTask(daq->di_port); diff --git a/StateMachineController.cpp b/StateMachineController.cpp index 2ae4496..1a3da69 100644 --- a/StateMachineController.cpp +++ b/StateMachineController.cpp @@ -61,7 +61,7 @@ StateMachineController::StateMachineController(QObject *parent) nidaq = new NIDAQmxInterface(); nidaq->DAQmxSetDefaultEngine(); - nidaq->DAQmxInitializeInterface(); + // nidaq->DAQmxInitializeInterface(); tdt = new TDTInterface(); tdt->initializeInterface(); @@ -88,6 +88,8 @@ StateMachineController::~StateMachineController() void StateMachineController::startStateMachine(audioGameSettings settings) { + nidaq->DAQmxInitializeInterface(); + if(stateMachine->isRunning()) stateMachine->stop(); @@ -114,6 +116,7 @@ void StateMachineController::stopStateMachine() timerDialog->removeTimer(); mainTimer->stop(); stateMachine->stop(); + nidaq->DAQmxDestroyInterface(); QString timeString = QTime::currentTime().toString("hh:mm:ss.zzz"); emit(writeToLogFile("EXIT",0,0,timeString)); emit(closeLogFile()); @@ -202,6 +205,7 @@ void StateMachineController::onStateSoundEntered() } else { mainTimer->stop(); stateMachine->stop(); + nidaq->DAQmxDestroyInterface(); qDebug() << "Terminated"; emit(statusMessage("Terminated")); emit(terminated());