def _bpodcom_read_timestamps(self): data = self._arcom.read_bytes_array(12) n_hw_timer_cyles = ArduinoTypes.cvt_uint32(b''.join(data[:4])) trial_end_micros = ArduinoTypes.cvt_uint64(b''.join( data[4:12])) # / float(self.hardware.DEFAULT_FREQUENCY_DIVIDER) trial_end_timestamp = trial_end_micros / float( self.hardware.DEFAULT_FREQUENCY_DIVIDER) trial_time_from_micros = trial_end_timestamp - self.trial_start_timestamp trial_time_from_cycles = n_hw_timer_cyles / self.hardware.cycle_frequency discrepancy = abs(trial_time_from_micros - trial_time_from_cycles) * 1000 return trial_end_timestamp, discrepancy
def _bpodcom_get_trial_timestamp_start(self): data = self._arcom.read_bytes_array(8) self.trial_start_micros = ArduinoTypes.cvt_uint64(b''.join(data)) return self.trial_start_micros / float( self.hardware.DEFAULT_FREQUENCY_DIVIDER)