示例#1
0
class Window(visual.Window):
    def __init__(self, mx_adapter, *args, **kwargs):
        self._tagsToStart = []
        self._tagsToSend = []
        self._tagsToSave = []
        self.mx_adapter = mx_adapter
        self.triggerPort = None
        self.trigOnFlip = False
        self.isTrigged = False
        super(Window, self).__init__(*args, **kwargs)

    def startTagOnFlip(self, tagger):
        self._tagsToStart.append(tagger)

    def sendTagOnFlip(self, tagger):
        self._tagsToSend.append(tagger)

    def saveTagOnFlip(self, tagger):
        self._tagsToSave.append(tagger)

    def enableTrig(self):
        self.trigOnFlip = True

    def requestTriggerPort(self, triggerDevice):
        try:
            self.triggerPort = SerialSender(triggerDevice, 0)
        except Exception as e:
            raise ExperimentException(e)

    def doFlipLogging(self, now):
        # start tag
        for tagger in self._tagsToStart:
            tagger.startTime = now
        # send signal
        if self.trigOnFlip:
            self.triggerPort.send_next()
            self.trigOnFlip = False
        # send tags
        for tagger in self._tagsToSend:
            self.mx_adapter.send_tag(tagger.startTime, now, tagger.tagName,
                                     tagger.tagDescription)
        for tagger in self._tagsToSave:
            TagOnFlip.tags.append({
                "name": tagger.tagName,
                "start_timestamp": tagger.startTime,
                "end_timestamp": now,
                "desc": tagger.tagDescription
            })
        self._tagsToStart = []
        self._tagsToSend = []
        self._tagsToSave = []
示例#2
0
class Window(visual.Window):
    def __init__(self, mx_adapter, *args, **kwargs):
        self._tagsToStart = []
        self._tagsToSend = []
        self._tagsToSave = []
        self.mx_adapter = mx_adapter
        self.triggerPort = None
        self.trigOnFlip = False
        self.isTrigged = False
        super(Window, self).__init__(*args, **kwargs)
    
    def startTagOnFlip(self, tagger):
        self._tagsToStart.append(tagger)
    
    def sendTagOnFlip(self, tagger):
        self._tagsToSend.append(tagger)
        
    def saveTagOnFlip(self, tagger):
        self._tagsToSave.append(tagger)
    
    def enableTrig(self):
        self.trigOnFlip = True
        
    def requestTriggerPort(self, triggerDevice):
        try:
            self.triggerPort = SerialSender(triggerDevice, 0)
        except Exception as e:
            raise ExperimentException(e)
    
    def doFlipLogging(self, now):
        # start tag
        for tagger in self._tagsToStart:
            tagger.startTime = now
        # send signal
        if self.trigOnFlip:
            self.triggerPort.send_next()
            self.trigOnFlip = False
        # send tags
        for tagger in self._tagsToSend:
            self.mx_adapter.send_tag(tagger.startTime, now, tagger.tagName, tagger.tagDescription)
        for tagger in self._tagsToSave:
            TagOnFlip.tags.append({"name": tagger.tagName, "start_timestamp": tagger.startTime,
                "end_timestamp": now, "desc": tagger.tagDescription})
        self._tagsToStart = []
        self._tagsToSend = []
        self._tagsToSave = []
示例#3
0
 def requestTriggerPort(self, triggerDevice):
     try:
         self.triggerPort = SerialSender(triggerDevice, 0)
     except Exception as e:
         raise ExperimentException(e)
示例#4
0
 def requestTriggerPort(self, triggerDevice):
     try:
         self.triggerPort = SerialSender(triggerDevice, 0)
     except Exception as e:
         raise ExperimentException(e)