Esempio n. 1
0
    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
Esempio n. 2
0
 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)