Commits

Anonymous committed 440759b

Updated Phase 3 file output

  • Participants
  • Parent commits bf7153a

Comments (0)

Files changed (7)

Discrimination2.py

         self.curBlock = startBlock -1
         self.initVars()
         self.newBlock()
+        
+        self.dataFile = OutputData(self.listExperimentInfo[0], \
+            self.listExperimentInfo[1],self.listExperimentInfo[2], \
+            self.listExperimentInfo[3])
         #self.startIti(self.itiTime)      
         
     def initVars(self):
         self.initVars()
         self.maxTrials = maxTrials
         self.startIti(self.itiTime)
-
+        self.dataFile = OutputData(self.listExperimentInfo[0], \
+            self.listExperimentInfo[1],self.listExperimentInfo[2], \
+            self.listExperimentInfo[3])
+            
     def initVars(self):
         self.trialCnt = 0
         self.bFirstHeadEntry = False
     instantiated.
     ''' 
 
-    def __init__(self, startBlock = 1): #add something to allow the starting block to be differnet
+    def __init__(self, startBlock = 1, listExperimentInfo = ['default','mouse','experiment','tech']): #add something to allow the starting block to be differnet
         super(Phase3, self).__init__() 
-
         self.curBlock = startBlock
         self.initVars()
         #self.startIti(self.itiTime)      
-        
+        self.strExperimentInfo = listExperimentInfo
+        self.dataFile = OutputData(self.strExperimentInfo[0], self.strExperimentInfo[1],self.strExperimentInfo[2], self.strExperimentInfo[3])
+        #self.dataFile = OutputData('a','b','c','d')
+
     def initVars(self):
         self.statesStarted = [0,0,0,0,0,0,0] #might not need this
         self.curState = 0
         #self.trialLengthByBlock = [1.2]
         self.blockCount = self.trialLengthByBlock.__len__()
               #this should start short and get longer first
-        self.curBlockHits = 0 #met the interval threshold
-        self.curBlockMisses = 0 #missed the interval threshold
-        self.curBlockAbstain = 0 #made the interval but didn't lick
+        self.curBlockHits = self.blockCount*[0] #met the interval threshold
+        self.curBlockMisses = self.blockCount*[0]
+        self.curBlockAbstain = self.blockCount*[0]
         self.bTrialFinished = False
         self.binRespList = 0
         self.bReinforcement = False
         #assert self.itiTime.__len__() == self.trialLengthByBlock.__len__()
         
         
-        
     def update(self):
         self.updateInputs()
         
             if self.bHeadIn == False: #if they leave without licking, done
                 self.bReinforcementAvailable = False
                 print('abstain')
-                self.curBlockAbstain += 1
+                self.curBlockAbstain[self.curBlock-1] += 1
                 self.curState = 6
             if self.bLickOn == True:
                 self.bReinforcementAvailable = False
                 print('hit')
-                self.curBlockHits += 1                   
+                self.curBlockHits[self.curBlock-1] += 1                   
                 self.curState = 5
         else:
             print('miss')
-            self.curBlockMisses += 1
+            self.curBlockMisses[self.curBlock-1] += 1
             self.curState =6
             
     def updateState5(self):
         if self.statesStarted[self.curState] == False:
             self.statesStarted[self.curState] = True
             self.bReinforcement = True
+            self.outsideEvent.toneOn()
             self.reinforceOn()
+            
         self.bReinforcement = self.reinforceUpdate()
         if self.bReinforcement == False:
+            self.outsideEvent.toneOff()
             self.curState = 6
+            
         
     def updateState6(self):
         #end of trial state
     def checkBlockCount(self):
         if self.curBlockHits >= self.hitsCriterion[self.curBlock - 1]:
             #write to a file
-            self.curBlockHits = 0
-            self.curBlockMisses = 0
-            self.curBlockAbstain = 0
+#            self.curBlockHits = 0
+#            self.curBlockMisses = 0
+#            self.curBlockAbstain = 0
+            strWriteHits = 'SUMMARY, HITS, ' + str(self.curBlockHits)
+            strWriteMisses = 'SUMMARY, MISS, ' + str(self.curBlockMisses)
+            strWriteAbstain = 'SUMMARY, ABSTAIN, ' + str(self.curBlockAbstain)
+            self.dataFile.write(strWriteHits)
+            self.dataFile.write(strWriteMisses)
+            self.dataFile.write(strWriteAbstain)
             self.curBlock += 1
             print 'end of block'
         if self.curBlock > self.blockCount:
             self.bContinuePhase = False
             print'end of Phase'
             
-        
-            
+
     
         
         
 import time
 import os
 #import outside_events.micro as outside_events
-import outside_events as outside_events
+import outside_events.micro as outside_events
 # Change to "import outside_events.micro as outside_events" to use the microcontroller.  
 
 
         self.bTrialFinished = False
         self.valveState = [0,0,0,0]
         self.outsideEvent = outside_events.OutsideEvent()
+        #self.listExperimentInfo = listExperimentInfo
 
         
     def startIti(self, ItiDuration):        
             self.file.write(startTime)
             self.file.close()
         else:
-            self.writeData('new Session')
+            self.writeData('NEW SESSION')
             self.writeData(startTime)
             
         self.writeData(subjectName)
         self.file.write('\n')
         self.file.write(inputText)
         self.file.close()
+
         self.bSesStart = False
         self.bPhase1 = False    
         self.bPhase3 = False
-        self.bBoxTest = False           
+        self.bBoxTest = False
+        
+    def commitTextFile(self):
+        subjName = self.teSubjectName.toPlainText()
+        exptName = self.teExperimentName.toPlainText()
+        techName = self.teTechName.toPlainText()
+        fileName = self.teFileName.toPlainText()
+        self.listTextFileInput = [fileName,subjName,exptName,techName]
 
     def timingInit(self):
         self.timer = QtCore.QBasicTimer()
         
     def turnAllOff(self):
         ie = InternalEvent()
-        for i in range(3):
+        for i in range(4):
             ie.valveOff(i+1)
         ie.finalValveOff()
         #ie.toneOff()
         ie.outsideEvent.reinforceOff()
 
     def respBtnClicked(self):
+        #self.commitTextFile()
         self.curPhase.lickOn()  
     
     def headEntryBtnClicked(self):
         self.curPhase.toggleHeadEntry()
         
     def enableSimButtons(self):
-        pass
-        #self.main_window.btnHead.setEnabled(True)
-        #self.ui.btnResp.setEnabled(True)
+        self.btnHead.setEnabled(True)
+        self.btnResp.setEnabled(True)
     
     def disableStartButtons(self):
         pass
         #self.ui.btnStartPhase3.setEnabled(False)
         #self.ui.btnStartPhase1.setEnabled(False)
+        
+    def enableStartButtons(self):
+        self.btnStartPhase3.setEnabled(True)
+        self.btnStartPhase1.setEnabled(True)
+        self.btnStartDisc2.setEnabled(True)
+        
+    def commitBtnClicked(self):
+        print 'ses info commited'
+        self.enableStartButtons()
+        self.commitTextFile()
     
     def deliverReinf(self):
         self.curPhase.reinforceOn()     
     def startPhase3(self):
         self.startSession()
         self.bPhase3 = True
-        self.curPhase = Phase3.Phase3(1)
+        self.curPhase = Phase3.Phase3(1, self.listTextFileInput)
         self.disableStartButtons()
         self.enableSimButtons()
         
         #self.ui.btnDeliverR.setEnabled(True)   
 
     def startSession(self):
-        #self.DataFile = OutputData()
         self.timingInit()
         print('Session start')   
 
         self.curSestime = self.iTime.timeSince()
         self.lcdTimeCnt.display(round(self.curSestime,2))       
         ###
-        print 'timer running'
+        #print 'timer running'
         
         if self.bPhase1 == True:
             self.bPhase1, self.hits, self.misses = self.curPhase.update()
     widget.btnStartPhase1.clicked.connect(master.startPhase1)
     widget.btnStartPhase3.clicked.connect(master.startPhase3)
     widget.btnBoxTest.clicked.connect(master.startBoxTest)
-    widget.btnDeliverR.clicked.connect(master.deliverReinf)    
+    widget.btnDeliverR.clicked.connect(master.deliverReinf)
+    widget.btnSesInfoCommit.clicked.connect(master.commitBtnClicked)
 
 def main():
     """The entry point to the application"""
-Mon Jun 24 15:38:23 2013
+
+new Session
+Mon Jul 08 13:59:16 2013
 mouse
 experiment
-anonymous
-new Session
-Mon Jun 24 15:38:52 2013
+tech
+NEW SESSION
+Mon Jul 08 14:17:17 2013
 mouse
 experiment
-anonymous
-Trial Start
-Trial Start
-Trial Start
-Trial Start
-Trial Start
-Trial Start
-Trial Start
-new Session
-Mon Jun 24 15:41:05 2013
-mouse
-experiment
-anonymous
-Trial Start
-new Session
-Mon Jun 24 15:43:13 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:43:15 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:44:35 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:44:37 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:46:47 2013
-mouse
-experiment
-anonymous
-Trial Start
-Trial Start
-Trial Start
-Trial Start
-Trial Start
-Trial Start
-new Session
-Mon Jun 24 15:47:05 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:06 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:06 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:06 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:06 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:07 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:07 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:07 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:07 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:07 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:47:07 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:49:27 2013
-mouse
-experiment
-anonymous
-Trial Start
-new Session
-Mon Jun 24 15:50:51 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:52:00 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:55:06 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 15:55:12 2013
-mouse
-experiment
-anonymous
-new Session
-Mon Jun 24 16:32:31 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 14:56:29 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:00:03 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:01:19 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:19:29 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:20:17 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:20:43 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:21:51 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:22:31 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:23:04 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:24:45 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:26:14 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:26:34 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:30:55 2013
-mouse
-experiment
-anonymous
-H In
-H Out
-H In
-H Out
-H In
-H Out
-H In
-H Out
-new Session
-Tue Jun 25 15:31:05 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:32:58 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:41:17 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:42:59 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 15:56:49 2013
-mouse
-experiment
-anonymous
-new Session
-Tue Jun 25 16:37:16 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 16:44:12 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 16:45:20 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 16:54:50 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 16:55:22 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:00:32 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:01:12 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:02:13 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:03:36 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:13:56 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:15:51 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:17:47 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:21:27 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:29:10 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:31:53 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:33:04 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:34:38 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:36:35 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:37:36 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:37:53 2013
-mouse
-experiment
-anonymous
-new Session
-Thu Jun 27 17:39:20 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 11:00:48 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 11:01:52 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 11:03:50 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 11:03:58 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 12:58:44 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 12:59:39 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 13:49:47 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 13:50:35 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 14:06:17 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:39:43 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:40:26 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:41:08 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:43:01 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:43:47 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:47:41 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:49:46 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:50:51 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:51:16 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:53:47 2013
-mouse
-experiment
-anonymous
-new Session
-Fri Jun 28 15:54:52 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:00:37 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:01:51 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:02:26 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:03:48 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:05:00 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:05:19 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:06:48 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:08:16 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 17:53:25 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:05:54 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:10:18 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:12:40 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:14:09 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:17:13 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:22:00 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:23:22 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:26:20 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:27:44 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:30:11 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:32:35 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:34:43 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:39:39 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:42:55 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:44:00 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:47:39 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:47:43 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:47:44 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:47:44 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:47:45 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:48:28 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:48:35 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:48:36 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:48:36 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 18:48:37 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:22:29 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:23:01 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:24:04 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:24:28 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:32:09 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:33:49 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:37:28 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:37:47 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:40:08 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:43:02 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:44:10 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 19:50:32 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 20:38:42 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 20:39:14 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 20:39:36 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 20:40:07 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 20:40:46 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 20:42:48 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 20:59:39 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 21:05:12 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 21:07:03 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 21:09:40 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jun 29 21:10:42 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:04:45 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:05:15 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:05:51 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:06:17 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:06:59 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:07:37 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:08:10 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:10:17 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:11:23 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:16:50 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:20:10 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:22:09 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:24:09 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:26:32 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:30:16 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:33:10 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:33:26 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:42:26 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:43:57 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:46:27 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul 06 19:50:02 2013
-mouse
-experiment
-anonymous
-new Session
-Sat Jul  6 21:40:22 2013
-mouse
-experiment
-anonymous
+tech
-# -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'gui.ui'
-#
-# Created: Sat Jul  6 21:49:05 2013
-#      by: PyQt4 UI code generator 4.9.4
-#
-# WARNING! All changes made in this file will be lost!
-
-from PyQt4 import QtCore, QtGui
-
-try:
-    _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
-    _fromUtf8 = lambda s: s
-
-class Ui_MainWindow(object):
-    def setupUi(self, MainWindow):
-        MainWindow.setObjectName(_fromUtf8("MainWindow"))
-        MainWindow.resize(800, 600)
-        self.centralwidget = QtGui.QWidget(MainWindow)
-        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
-        self.lcdTimeCnt = QtGui.QLCDNumber(self.centralwidget)
-        self.lcdTimeCnt.setGeometry(QtCore.QRect(730, 10, 64, 23))
-        self.lcdTimeCnt.setObjectName(_fromUtf8("lcdTimeCnt"))
-        self.tabWidget = QtGui.QTabWidget(self.centralwidget)
-        self.tabWidget.setGeometry(QtCore.QRect(20, 10, 441, 541))
-        self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
-        self.tabSetup = QtGui.QWidget()
-        self.tabSetup.setObjectName(_fromUtf8("tabSetup"))
-        self.teSubjectName = QtGui.QPlainTextEdit(self.tabSetup)
-        self.teSubjectName.setGeometry(QtCore.QRect(120, 60, 161, 31))
-        self.teSubjectName.setObjectName(_fromUtf8("teSubjectName"))
-        self.teFileName = QtGui.QPlainTextEdit(self.tabSetup)
-        self.teFileName.setGeometry(QtCore.QRect(120, 20, 161, 31))
-        self.teFileName.setObjectName(_fromUtf8("teFileName"))
-        self.teTechName = QtGui.QPlainTextEdit(self.tabSetup)
-        self.teTechName.setGeometry(QtCore.QRect(120, 160, 161, 31))
-        self.teTechName.setObjectName(_fromUtf8("teTechName"))
-        self.teExperimentName = QtGui.QPlainTextEdit(self.tabSetup)
-        self.teExperimentName.setGeometry(QtCore.QRect(120, 110, 161, 31))
-        self.teExperimentName.setObjectName(_fromUtf8("teExperimentName"))
-        self.btnSesInfoCommit = QtGui.QPushButton(self.tabSetup)
-        self.btnSesInfoCommit.setGeometry(QtCore.QRect(20, 210, 261, 41))
-        self.btnSesInfoCommit.setObjectName(_fromUtf8("btnSesInfoCommit"))
-        self.lblSubName = QtGui.QLabel(self.tabSetup)
-        self.lblSubName.setGeometry(QtCore.QRect(40, 70, 71, 20))
-        self.lblSubName.setObjectName(_fromUtf8("lblSubName"))
-        self.label = QtGui.QLabel(self.tabSetup)
-        self.label.setGeometry(QtCore.QRect(60, 30, 46, 13))
-        self.label.setObjectName(_fromUtf8("label"))
-        self.lblSubName_2 = QtGui.QLabel(self.tabSetup)
-        self.lblSubName_2.setGeometry(QtCore.QRect(20, 120, 91, 20))
-        self.lblSubName_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.lblSubName_2.setObjectName(_fromUtf8("lblSubName_2"))
-        self.lblSubName_3 = QtGui.QLabel(self.tabSetup)
-        self.lblSubName_3.setGeometry(QtCore.QRect(20, 160, 91, 20))
-        self.lblSubName_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
-        self.lblSubName_3.setObjectName(_fromUtf8("lblSubName_3"))
-        self.tabWidget.addTab(self.tabSetup, _fromUtf8(""))
-        self.tabInSes = QtGui.QWidget()
-        self.tabInSes.setObjectName(_fromUtf8("tabInSes"))
-        self.btnStartPhase1 = QtGui.QPushButton(self.tabInSes)
-        self.btnStartPhase1.setGeometry(QtCore.QRect(10, 20, 75, 23))
-        self.btnStartPhase1.setObjectName(_fromUtf8("btnStartPhase1"))
-        self.btnStartPhase3 = QtGui.QPushButton(self.tabInSes)
-        self.btnStartPhase3.setGeometry(QtCore.QRect(10, 70, 75, 23))
-        self.btnStartPhase3.setObjectName(_fromUtf8("btnStartPhase3"))
-        self.sbPhase3 = QtGui.QSpinBox(self.tabInSes)
-        self.sbPhase3.setGeometry(QtCore.QRect(20, 120, 81, 22))
-        self.sbPhase3.setMinimum(1)
-        self.sbPhase3.setMaximum(10)
-        self.sbPhase3.setObjectName(_fromUtf8("sbPhase3"))
-        self.lblPhase3StartAt = QtGui.QLabel(self.tabInSes)
-        self.lblPhase3StartAt.setGeometry(QtCore.QRect(10, 100, 101, 16))
-        self.lblPhase3StartAt.setObjectName(_fromUtf8("lblPhase3StartAt"))
-        self.gridLayoutWidget_2 = QtGui.QWidget(self.tabInSes)
-        self.gridLayoutWidget_2.setGeometry(QtCore.QRect(190, 25, 241, 491))
-        self.gridLayoutWidget_2.setObjectName(_fromUtf8("gridLayoutWidget_2"))
-        self.gridLayout_3 = QtGui.QGridLayout(self.gridLayoutWidget_2)
-        self.gridLayout_3.setMargin(0)
-        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
-        self.lblEct11 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct11.setObjectName(_fromUtf8("lblEct11"))
-        self.gridLayout_3.addWidget(self.lblEct11, 10, 0, 1, 1)
-        self.lblEct18 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct18.setObjectName(_fromUtf8("lblEct18"))
-        self.gridLayout_3.addWidget(self.lblEct18, 17, 0, 1, 1)
-        self.lblEct14 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct14.setObjectName(_fromUtf8("lblEct14"))
-        self.gridLayout_3.addWidget(self.lblEct14, 13, 0, 1, 1)
-        self.lblEct16 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct16.setObjectName(_fromUtf8("lblEct16"))
-        self.gridLayout_3.addWidget(self.lblEct16, 15, 0, 1, 1)
-        self.lblEct6 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct6.setObjectName(_fromUtf8("lblEct6"))
-        self.gridLayout_3.addWidget(self.lblEct6, 5, 0, 1, 1)
-        self.lblEct19 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct19.setObjectName(_fromUtf8("lblEct19"))
-        self.gridLayout_3.addWidget(self.lblEct19, 18, 0, 1, 1)
-        self.lblEct5 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct5.setObjectName(_fromUtf8("lblEct5"))
-        self.gridLayout_3.addWidget(self.lblEct5, 4, 0, 1, 1)
-        self.lblEct13 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct13.setObjectName(_fromUtf8("lblEct13"))
-        self.gridLayout_3.addWidget(self.lblEct13, 12, 0, 1, 1)
-        self.lblEct10 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct10.setObjectName(_fromUtf8("lblEct10"))
-        self.gridLayout_3.addWidget(self.lblEct10, 9, 0, 1, 1)
-        self.lblEct9 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct9.setObjectName(_fromUtf8("lblEct9"))
-        self.gridLayout_3.addWidget(self.lblEct9, 8, 0, 1, 1)
-        self.lblEct15 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct15.setObjectName(_fromUtf8("lblEct15"))
-        self.gridLayout_3.addWidget(self.lblEct15, 14, 0, 1, 1)
-        self.lblEct12 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct12.setObjectName(_fromUtf8("lblEct12"))
-        self.gridLayout_3.addWidget(self.lblEct12, 11, 0, 1, 1)
-        self.lblEct4 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct4.setObjectName(_fromUtf8("lblEct4"))
-        self.gridLayout_3.addWidget(self.lblEct4, 3, 0, 1, 1)
-        self.lblEct2 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct2.setObjectName(_fromUtf8("lblEct2"))
-        self.gridLayout_3.addWidget(self.lblEct2, 1, 0, 1, 1)
-        self.lblEct17 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct17.setObjectName(_fromUtf8("lblEct17"))
-        self.gridLayout_3.addWidget(self.lblEct17, 16, 0, 1, 1)
-        self.lblEct8 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct8.setObjectName(_fromUtf8("lblEct8"))
-        self.gridLayout_3.addWidget(self.lblEct8, 7, 0, 1, 1)
-        self.lblEct7 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct7.setObjectName(_fromUtf8("lblEct7"))
-        self.gridLayout_3.addWidget(self.lblEct7, 6, 0, 1, 1)
-        self.lblEct3 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct3.setObjectName(_fromUtf8("lblEct3"))
-        self.gridLayout_3.addWidget(self.lblEct3, 2, 0, 1, 1)
-        self.lblEct1 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct1.setObjectName(_fromUtf8("lblEct1"))
-        self.gridLayout_3.addWidget(self.lblEct1, 0, 0, 1, 1)
-        self.lblEct20 = QtGui.QLabel(self.gridLayoutWidget_2)
-        self.lblEct20.setObjectName(_fromUtf8("lblEct20"))
-        self.gridLayout_3.addWidget(self.lblEct20, 19, 0, 1, 1)
-        self.btnExtendedHold = QtGui.QPushButton(self.tabInSes)
-        self.btnExtendedHold.setGeometry(QtCore.QRect(10, 410, 101, 51))
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.btnExtendedHold.sizePolicy().hasHeightForWidth())
-        self.btnExtendedHold.setSizePolicy(sizePolicy)
-        self.btnExtendedHold.setObjectName(_fromUtf8("btnExtendedHold"))
-        self.sbExtHold = QtGui.QSpinBox(self.tabInSes)
-        self.sbExtHold.setGeometry(QtCore.QRect(10, 470, 81, 22))
-        self.sbExtHold.setMinimum(1)
-        self.sbExtHold.setMaximum(400)
-        self.sbExtHold.setSingleStep(1)
-        self.sbExtHold.setObjectName(_fromUtf8("sbExtHold"))
-        self.btnStartDisc2 = QtGui.QPushButton(self.tabInSes)
-        self.btnStartDisc2.setGeometry(QtCore.QRect(10, 160, 75, 23))
-        self.btnStartDisc2.setObjectName(_fromUtf8("btnStartDisc2"))
-        self.tabWidget.addTab(self.tabInSes, _fromUtf8(""))
-        self.tabBoxTest = QtGui.QWidget()
-        self.tabBoxTest.setObjectName(_fromUtf8("tabBoxTest"))
-        self.btnBoxTest = QtGui.QPushButton(self.tabBoxTest)
-        self.btnBoxTest.setGeometry(QtCore.QRect(10, 10, 211, 61))
-        self.btnBoxTest.setObjectName(_fromUtf8("btnBoxTest"))
-        self.btnHead = QtGui.QPushButton(self.tabBoxTest)
-        self.btnHead.setGeometry(QtCore.QRect(250, 410, 75, 23))
-        self.btnHead.setObjectName(_fromUtf8("btnHead"))
-        self.btnResp = QtGui.QPushButton(self.tabBoxTest)
-        self.btnResp.setGeometry(QtCore.QRect(250, 440, 75, 23))
-        self.btnResp.setObjectName(_fromUtf8("btnResp"))
-        self.gridLayoutWidget = QtGui.QWidget(self.tabBoxTest)
-        self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 80, 211, 228))
-        self.gridLayoutWidget.setObjectName(_fromUtf8("gridLayoutWidget"))
-        self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)
-        self.gridLayout.setMargin(0)
-        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
-        self.btnTestValve_1 = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btnTestValve_1.setObjectName(_fromUtf8("btnTestValve_1"))
-        self.gridLayout.addWidget(self.btnTestValve_1, 4, 0, 1, 1)
-        self.btnTestValve_3 = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btnTestValve_3.setObjectName(_fromUtf8("btnTestValve_3"))
-        self.gridLayout.addWidget(self.btnTestValve_3, 6, 0, 1, 1)
-        self.btnToggleLight = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btnToggleLight.setObjectName(_fromUtf8("btnToggleLight"))
-        self.gridLayout.addWidget(self.btnToggleLight, 1, 0, 1, 1)
-        self.btnFinalValve = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btnFinalValve.setObjectName(_fromUtf8("btnFinalValve"))
-        self.gridLayout.addWidget(self.btnFinalValve, 3, 0, 1, 1)
-        self.btnBuzzer = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btnBuzzer.setObjectName(_fromUtf8("btnBuzzer"))
-        self.gridLayout.addWidget(self.btnBuzzer, 2, 0, 1, 1)
-        self.btnDeliverR = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btnDeliverR.setObjectName(_fromUtf8("btnDeliverR"))
-        self.gridLayout.addWidget(self.btnDeliverR, 0, 0, 1, 1)
-        self.btnTestValve_2 = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btnTestValve_2.setObjectName(_fromUtf8("btnTestValve_2"))
-        self.gridLayout.addWidget(self.btnTestValve_2, 5, 0, 1, 1)
-        self.btnTestValve_4 = QtGui.QPushButton(self.gridLayoutWidget)
-        self.btnTestValve_4.setObjectName(_fromUtf8("btnTestValve_4"))
-        self.gridLayout.addWidget(self.btnTestValve_4, 7, 0, 1, 1)
-        self.tabWidget.addTab(self.tabBoxTest, _fromUtf8(""))
-        self.btnClose = QtGui.QPushButton(self.centralwidget)
-        self.btnClose.setGeometry(QtCore.QRect(640, 50, 131, 41))
-        self.btnClose.setObjectName(_fromUtf8("btnClose"))
-        self.lblTimeLabel = QtGui.QLabel(self.centralwidget)
-        self.lblTimeLabel.setGeometry(QtCore.QRect(630, 10, 91, 16))
-        self.lblTimeLabel.setObjectName(_fromUtf8("lblTimeLabel"))
-        MainWindow.setCentralWidget(self.centralwidget)
-        self.menubar = QtGui.QMenuBar(MainWindow)
-        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
-        self.menubar.setObjectName(_fromUtf8("menubar"))
-        MainWindow.setMenuBar(self.menubar)
-        self.statusbar = QtGui.QStatusBar(MainWindow)
-        self.statusbar.setObjectName(_fromUtf8("statusbar"))
-        MainWindow.setStatusBar(self.statusbar)
-
-        self.retranslateUi(MainWindow)
-        self.tabWidget.setCurrentIndex(2)
-        QtCore.QMetaObject.connectSlotsByName(MainWindow)
-
-    def retranslateUi(self, MainWindow):
-        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
-        MainWindow.setStatusTip(QtGui.QApplication.translate("MainWindow", "z", None, QtGui.QApplication.UnicodeUTF8))
-        MainWindow.setWhatsThis(QtGui.QApplication.translate("MainWindow", "z", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnSesInfoCommit.setText(QtGui.QApplication.translate("MainWindow", "Commit Above Session Info", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblSubName.setText(QtGui.QApplication.translate("MainWindow", "Subject Name", None, QtGui.QApplication.UnicodeUTF8))
-        self.label.setText(QtGui.QApplication.translate("MainWindow", "File Name:", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblSubName_2.setText(QtGui.QApplication.translate("MainWindow", "Experiment Name", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblSubName_3.setText(QtGui.QApplication.translate("MainWindow", "Tech Name", None, QtGui.QApplication.UnicodeUTF8))
-        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabSetup), QtGui.QApplication.translate("MainWindow", "Session Setup", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnStartPhase1.setText(QtGui.QApplication.translate("MainWindow", "Start Phase 1", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnStartPhase3.setText(QtGui.QApplication.translate("MainWindow", "Start Phase 3", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblPhase3StartAt.setText(QtGui.QApplication.translate("MainWindow", "Start a Phase 3 at:", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct11.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct18.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct14.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct16.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct6.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct19.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct5.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct13.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct10.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct9.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct15.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct12.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct4.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct2.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct17.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct8.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct7.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct3.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct1.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblEct20.setText(QtGui.QApplication.translate("MainWindow", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnExtendedHold.setText(QtGui.QApplication.translate("MainWindow", "Extended Hold", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnStartDisc2.setText(QtGui.QApplication.translate("MainWindow", "Start D2 ", None, QtGui.QApplication.UnicodeUTF8))
-        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabInSes), QtGui.QApplication.translate("MainWindow", "Run Session", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnBoxTest.setText(QtGui.QApplication.translate("MainWindow", "Start Box Test", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnHead.setText(QtGui.QApplication.translate("MainWindow", "Sim Head", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnResp.setText(QtGui.QApplication.translate("MainWindow", "Sim Lick", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnTestValve_1.setText(QtGui.QApplication.translate("MainWindow", "Test Valve 1", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnTestValve_3.setText(QtGui.QApplication.translate("MainWindow", "Test Valve 3", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnToggleLight.setText(QtGui.QApplication.translate("MainWindow", "Toggle Light", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnFinalValve.setText(QtGui.QApplication.translate("MainWindow", "Test Final Valve", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnBuzzer.setText(QtGui.QApplication.translate("MainWindow", "Toggle Buzzer", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnDeliverR.setText(QtGui.QApplication.translate("MainWindow", "Test Water", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnTestValve_2.setText(QtGui.QApplication.translate("MainWindow", "Test Valve 2", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnTestValve_4.setText(QtGui.QApplication.translate("MainWindow", "Test Valve 4", None, QtGui.QApplication.UnicodeUTF8))
-        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabBoxTest), QtGui.QApplication.translate("MainWindow", "Box Test", None, QtGui.QApplication.UnicodeUTF8))
-        self.btnClose.setText(QtGui.QApplication.translate("MainWindow", "Close Program", None, QtGui.QApplication.UnicodeUTF8))
-        self.lblTimeLabel.setText(QtGui.QApplication.translate("MainWindow", "Time in Session (s)", None, QtGui.QApplication.UnicodeUTF8))
-
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'gui.ui'
+#
+# Created: Mon Jul 08 14:37:43 2013
+#      by: PyQt4 UI code generator 4.9.6
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+    _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+    def _fromUtf8(s):
+        return s
+
+try:
+    _encoding = QtGui.QApplication.UnicodeUTF8
+    def _translate(context, text, disambig):
+        return QtGui.QApplication.translate(context, text, disambig, _encoding)
+except AttributeError:
+    def _translate(context, text, disambig):
+        return QtGui.QApplication.translate(context, text, disambig)
+
+class Ui_MainWindow(object):
+    def setupUi(self, MainWindow):
+        MainWindow.setObjectName(_fromUtf8("MainWindow"))
+        MainWindow.resize(800, 600)
+        self.centralwidget = QtGui.QWidget(MainWindow)
+        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
+        self.lcdTimeCnt = QtGui.QLCDNumber(self.centralwidget)
+        self.lcdTimeCnt.setGeometry(QtCore.QRect(730, 10, 64, 23))
+        self.lcdTimeCnt.setObjectName(_fromUtf8("lcdTimeCnt"))
+        self.tabWidget = QtGui.QTabWidget(self.centralwidget)
+        self.tabWidget.setGeometry(QtCore.QRect(20, 10, 441, 541))
+        self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+        self.tabSetup = QtGui.QWidget()
+        self.tabSetup.setObjectName(_fromUtf8("tabSetup"))
+        self.teSubjectName = QtGui.QPlainTextEdit(self.tabSetup)
+        self.teSubjectName.setGeometry(QtCore.QRect(120, 60, 161, 31))
+        self.teSubjectName.setObjectName(_fromUtf8("teSubjectName"))
+        self.teFileName = QtGui.QPlainTextEdit(self.tabSetup)
+        self.teFileName.setGeometry(QtCore.QRect(120, 20, 161, 31))
+        self.teFileName.setObjectName(_fromUtf8("teFileName"))
+        self.teTechName = QtGui.QPlainTextEdit(self.tabSetup)
+        self.teTechName.setGeometry(QtCore.QRect(120, 160, 161, 31))
+        self.teTechName.setObjectName(_fromUtf8("teTechName"))
+        self.teExperimentName = QtGui.QPlainTextEdit(self.tabSetup)
+        self.teExperimentName.setGeometry(QtCore.QRect(120, 110, 161, 31))
+        self.teExperimentName.setObjectName(_fromUtf8("teExperimentName"))
+        self.btnSesInfoCommit = QtGui.QPushButton(self.tabSetup)
+        self.btnSesInfoCommit.setGeometry(QtCore.QRect(20, 210, 261, 41))
+        self.btnSesInfoCommit.setObjectName(_fromUtf8("btnSesInfoCommit"))
+        self.lblSubName = QtGui.QLabel(self.tabSetup)
+        self.lblSubName.setGeometry(QtCore.QRect(40, 70, 71, 20))
+        self.lblSubName.setObjectName(_fromUtf8("lblSubName"))
+        self.label = QtGui.QLabel(self.tabSetup)
+        self.label.setGeometry(QtCore.QRect(60, 30, 46, 13))
+        self.label.setObjectName(_fromUtf8("label"))
+        self.lblSubName_2 = QtGui.QLabel(self.tabSetup)
+        self.lblSubName_2.setGeometry(QtCore.QRect(20, 120, 91, 20))
+        self.lblSubName_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+        self.lblSubName_2.setObjectName(_fromUtf8("lblSubName_2"))
+        self.lblSubName_3 = QtGui.QLabel(self.tabSetup)
+        self.lblSubName_3.setGeometry(QtCore.QRect(20, 160, 91, 20))
+        self.lblSubName_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
+        self.lblSubName_3.setObjectName(_fromUtf8("lblSubName_3"))
+        self.tabWidget.addTab(self.tabSetup, _fromUtf8(""))
+        self.tabInSes = QtGui.QWidget()
+        self.tabInSes.setObjectName(_fromUtf8("tabInSes"))
+        self.btnStartPhase1 = QtGui.QPushButton(self.tabInSes)
+        self.btnStartPhase1.setGeometry(QtCore.QRect(10, 20, 75, 23))
+        self.btnStartPhase1.setObjectName(_fromUtf8("btnStartPhase1"))
+        self.btnStartPhase3 = QtGui.QPushButton(self.tabInSes)
+        self.btnStartPhase3.setGeometry(QtCore.QRect(10, 70, 75, 23))
+        self.btnStartPhase3.setObjectName(_fromUtf8("btnStartPhase3"))
+        self.sbPhase3 = QtGui.QSpinBox(self.tabInSes)
+        self.sbPhase3.setGeometry(QtCore.QRect(20, 120, 81, 22))
+        self.sbPhase3.setMinimum(1)
+        self.sbPhase3.setMaximum(10)
+        self.sbPhase3.setObjectName(_fromUtf8("sbPhase3"))
+        self.lblPhase3StartAt = QtGui.QLabel(self.tabInSes)
+        self.lblPhase3StartAt.setGeometry(QtCore.QRect(10, 100, 101, 16))
+        self.lblPhase3StartAt.setObjectName(_fromUtf8("lblPhase3StartAt"))
+        self.gridLayoutWidget_2 = QtGui.QWidget(self.tabInSes)
+        self.gridLayoutWidget_2.setGeometry(QtCore.QRect(190, 25, 241, 491))
+        self.gridLayoutWidget_2.setObjectName(_fromUtf8("gridLayoutWidget_2"))
+        self.gridLayout_3 = QtGui.QGridLayout(self.gridLayoutWidget_2)
+        self.gridLayout_3.setMargin(0)
+        self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+        self.lblEct11 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct11.setObjectName(_fromUtf8("lblEct11"))
+        self.gridLayout_3.addWidget(self.lblEct11, 10, 0, 1, 1)
+        self.lblEct18 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct18.setObjectName(_fromUtf8("lblEct18"))
+        self.gridLayout_3.addWidget(self.lblEct18, 17, 0, 1, 1)
+        self.lblEct14 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct14.setObjectName(_fromUtf8("lblEct14"))
+        self.gridLayout_3.addWidget(self.lblEct14, 13, 0, 1, 1)
+        self.lblEct16 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct16.setObjectName(_fromUtf8("lblEct16"))
+        self.gridLayout_3.addWidget(self.lblEct16, 15, 0, 1, 1)
+        self.lblEct6 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct6.setObjectName(_fromUtf8("lblEct6"))
+        self.gridLayout_3.addWidget(self.lblEct6, 5, 0, 1, 1)
+        self.lblEct19 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct19.setObjectName(_fromUtf8("lblEct19"))
+        self.gridLayout_3.addWidget(self.lblEct19, 18, 0, 1, 1)
+        self.lblEct5 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct5.setObjectName(_fromUtf8("lblEct5"))
+        self.gridLayout_3.addWidget(self.lblEct5, 4, 0, 1, 1)
+        self.lblEct13 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct13.setObjectName(_fromUtf8("lblEct13"))
+        self.gridLayout_3.addWidget(self.lblEct13, 12, 0, 1, 1)
+        self.lblEct10 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct10.setObjectName(_fromUtf8("lblEct10"))
+        self.gridLayout_3.addWidget(self.lblEct10, 9, 0, 1, 1)
+        self.lblEct9 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct9.setObjectName(_fromUtf8("lblEct9"))
+        self.gridLayout_3.addWidget(self.lblEct9, 8, 0, 1, 1)
+        self.lblEct15 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct15.setObjectName(_fromUtf8("lblEct15"))
+        self.gridLayout_3.addWidget(self.lblEct15, 14, 0, 1, 1)
+        self.lblEct12 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct12.setObjectName(_fromUtf8("lblEct12"))
+        self.gridLayout_3.addWidget(self.lblEct12, 11, 0, 1, 1)
+        self.lblEct4 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct4.setObjectName(_fromUtf8("lblEct4"))
+        self.gridLayout_3.addWidget(self.lblEct4, 3, 0, 1, 1)
+        self.lblEct2 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct2.setObjectName(_fromUtf8("lblEct2"))
+        self.gridLayout_3.addWidget(self.lblEct2, 1, 0, 1, 1)
+        self.lblEct17 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct17.setObjectName(_fromUtf8("lblEct17"))
+        self.gridLayout_3.addWidget(self.lblEct17, 16, 0, 1, 1)
+        self.lblEct8 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct8.setObjectName(_fromUtf8("lblEct8"))
+        self.gridLayout_3.addWidget(self.lblEct8, 7, 0, 1, 1)
+        self.lblEct7 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct7.setObjectName(_fromUtf8("lblEct7"))
+        self.gridLayout_3.addWidget(self.lblEct7, 6, 0, 1, 1)
+        self.lblEct3 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct3.setObjectName(_fromUtf8("lblEct3"))
+        self.gridLayout_3.addWidget(self.lblEct3, 2, 0, 1, 1)
+        self.lblEct1 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct1.setObjectName(_fromUtf8("lblEct1"))
+        self.gridLayout_3.addWidget(self.lblEct1, 0, 0, 1, 1)
+        self.lblEct20 = QtGui.QLabel(self.gridLayoutWidget_2)
+        self.lblEct20.setObjectName(_fromUtf8("lblEct20"))
+        self.gridLayout_3.addWidget(self.lblEct20, 19, 0, 1, 1)
+        self.btnExtendedHold = QtGui.QPushButton(self.tabInSes)
+        self.btnExtendedHold.setGeometry(QtCore.QRect(10, 410, 101, 51))
+        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.btnExtendedHold.sizePolicy().hasHeightForWidth())
+        self.btnExtendedHold.setSizePolicy(sizePolicy)
+        self.btnExtendedHold.setObjectName(_fromUtf8("btnExtendedHold"))
+        self.sbExtHold = QtGui.QSpinBox(self.tabInSes)
+        self.sbExtHold.setGeometry(QtCore.QRect(10, 470, 81, 22))
+        self.sbExtHold.setMinimum(1)
+        self.sbExtHold.setMaximum(400)
+        self.sbExtHold.setSingleStep(1)
+        self.sbExtHold.setObjectName(_fromUtf8("sbExtHold"))
+        self.btnStartDisc2 = QtGui.QPushButton(self.tabInSes)
+        self.btnStartDisc2.setGeometry(QtCore.QRect(10, 160, 75, 23))
+        self.btnStartDisc2.setObjectName(_fromUtf8("btnStartDisc2"))
+        self.tabWidget.addTab(self.tabInSes, _fromUtf8(""))
+        self.tabBoxTest = QtGui.QWidget()
+        self.tabBoxTest.setObjectName(_fromUtf8("tabBoxTest"))
+        self.btnBoxTest = QtGui.QPushButton(self.tabBoxTest)
+        self.btnBoxTest.setGeometry(QtCore.QRect(10, 10, 211, 61))
+        self.btnBoxTest.setObjectName(_fromUtf8("btnBoxTest"))
+        self.btnHead = QtGui.QPushButton(self.tabBoxTest)
+        self.btnHead.setGeometry(QtCore.QRect(250, 410, 75, 23))
+        self.btnHead.setObjectName(_fromUtf8("btnHead"))
+        self.btnResp = QtGui.QPushButton(self.tabBoxTest)
+        self.btnResp.setGeometry(QtCore.QRect(250, 440, 75, 23))
+        self.btnResp.setObjectName(_fromUtf8("btnResp"))
+        self.gridLayoutWidget = QtGui.QWidget(self.tabBoxTest)
+        self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 80, 211, 228))
+        self.gridLayoutWidget.setObjectName(_fromUtf8("gridLayoutWidget"))
+        self.gridLayout = QtGui.QGridLayout(self.gridLayoutWidget)
+        self.gridLayout.setMargin(0)
+        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+        self.btnTestValve_1 = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btnTestValve_1.setObjectName(_fromUtf8("btnTestValve_1"))
+        self.gridLayout.addWidget(self.btnTestValve_1, 4, 0, 1, 1)
+        self.btnTestValve_3 = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btnTestValve_3.setObjectName(_fromUtf8("btnTestValve_3"))
+        self.gridLayout.addWidget(self.btnTestValve_3, 6, 0, 1, 1)
+        self.btnToggleLight = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btnToggleLight.setObjectName(_fromUtf8("btnToggleLight"))
+        self.gridLayout.addWidget(self.btnToggleLight, 1, 0, 1, 1)
+        self.btnFinalValve = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btnFinalValve.setObjectName(_fromUtf8("btnFinalValve"))
+        self.gridLayout.addWidget(self.btnFinalValve, 3, 0, 1, 1)
+        self.btnBuzzer = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btnBuzzer.setObjectName(_fromUtf8("btnBuzzer"))
+        self.gridLayout.addWidget(self.btnBuzzer, 2, 0, 1, 1)
+        self.btnDeliverR = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btnDeliverR.setObjectName(_fromUtf8("btnDeliverR"))
+        self.gridLayout.addWidget(self.btnDeliverR, 0, 0, 1, 1)
+        self.btnTestValve_2 = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btnTestValve_2.setObjectName(_fromUtf8("btnTestValve_2"))
+        self.gridLayout.addWidget(self.btnTestValve_2, 5, 0, 1, 1)
+        self.btnTestValve_4 = QtGui.QPushButton(self.gridLayoutWidget)
+        self.btnTestValve_4.setObjectName(_fromUtf8("btnTestValve_4"))
+        self.gridLayout.addWidget(self.btnTestValve_4, 7, 0, 1, 1)
+        self.tabWidget.addTab(self.tabBoxTest, _fromUtf8(""))
+        self.btnClose = QtGui.QPushButton(self.centralwidget)
+        self.btnClose.setGeometry(QtCore.QRect(640, 50, 131, 41))
+        self.btnClose.setObjectName(_fromUtf8("btnClose"))
+        self.lblTimeLabel = QtGui.QLabel(self.centralwidget)
+        self.lblTimeLabel.setGeometry(QtCore.QRect(630, 10, 91, 16))
+        self.lblTimeLabel.setObjectName(_fromUtf8("lblTimeLabel"))
+        MainWindow.setCentralWidget(self.centralwidget)
+        self.menubar = QtGui.QMenuBar(MainWindow)
+        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
+        self.menubar.setObjectName(_fromUtf8("menubar"))
+        MainWindow.setMenuBar(self.menubar)
+        self.statusbar = QtGui.QStatusBar(MainWindow)
+        self.statusbar.setObjectName(_fromUtf8("statusbar"))
+        MainWindow.setStatusBar(self.statusbar)
+
+        self.retranslateUi(MainWindow)
+        self.tabWidget.setCurrentIndex(2)
+        QtCore.QMetaObject.connectSlotsByName(MainWindow)
+
+    def retranslateUi(self, MainWindow):
+        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
+        MainWindow.setStatusTip(_translate("MainWindow", "z", None))
+        MainWindow.setWhatsThis(_translate("MainWindow", "z", None))
+        self.btnSesInfoCommit.setText(_translate("MainWindow", "Commit Above Session Info", None))
+        self.lblSubName.setText(_translate("MainWindow", "Subject Name", None))
+        self.label.setText(_translate("MainWindow", "File Name:", None))
+        self.lblSubName_2.setText(_translate("MainWindow", "Experiment Name", None))
+        self.lblSubName_3.setText(_translate("MainWindow", "Tech Name", None))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabSetup), _translate("MainWindow", "Session Setup", None))
+        self.btnStartPhase1.setText(_translate("MainWindow", "Start Phase 1", None))
+        self.btnStartPhase3.setText(_translate("MainWindow", "Start Phase 3", None))
+        self.lblPhase3StartAt.setText(_translate("MainWindow", "Start a Phase 3 at:", None))
+        self.lblEct11.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct18.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct14.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct16.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct6.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct19.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct5.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct13.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct10.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct9.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct15.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct12.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct4.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct2.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct17.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct8.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct7.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct3.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct1.setText(_translate("MainWindow", "TextLabel", None))
+        self.lblEct20.setText(_translate("MainWindow", "TextLabel", None))
+        self.btnExtendedHold.setText(_translate("MainWindow", "Extended Hold", None))
+        self.btnStartDisc2.setText(_translate("MainWindow", "Start D2 ", None))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabInSes), _translate("MainWindow", "Run Session", None))
+        self.btnBoxTest.setText(_translate("MainWindow", "Start Box Test", None))
+        self.btnHead.setText(_translate("MainWindow", "Sim Head", None))
+        self.btnResp.setText(_translate("MainWindow", "Sim Lick", None))
+        self.btnTestValve_1.setText(_translate("MainWindow", "Test Valve 1", None))
+        self.btnTestValve_3.setText(_translate("MainWindow", "Test Valve 3", None))
+        self.btnToggleLight.setText(_translate("MainWindow", "Toggle Light", None))
+        self.btnFinalValve.setText(_translate("MainWindow", "Test Final Valve", None))
+        self.btnBuzzer.setText(_translate("MainWindow", "Toggle Buzzer", None))
+        self.btnDeliverR.setText(_translate("MainWindow", "Test Water", None))
+        self.btnTestValve_2.setText(_translate("MainWindow", "Test Valve 2", None))
+        self.btnTestValve_4.setText(_translate("MainWindow", "Test Valve 4", None))
+        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabBoxTest), _translate("MainWindow", "Box Test", None))
+        self.btnClose.setText(_translate("MainWindow", "Close Program", None))
+        self.lblTimeLabel.setText(_translate("MainWindow", "Time in Session (s)", None))
+