- # Check if samplerate is appropriate.
- if self.options['overdrive']:
- if self.samplerate < 2000000:
- self.put(0, 0, self.out_ann, [1,
- ['ERROR: Sampling rate is too low. Must be above 2MHz ' +
- 'for proper overdrive mode decoding.']])
- elif self.samplerate < 5000000:
- self.put(0, 0, self.out_ann, [1,
- ['WARNING: Sampling rate is suggested to be above 5MHz ' +
- 'for proper overdrive mode decoding.']])
- else:
- if self.samplerate < 400000:
- self.put(0, 0, self.out_ann, [1,
- ['ERROR: Sampling rate is too low. Must be above ' +
- '400kHz for proper normal mode decoding.']])
- elif (self.samplerate < 1000000):
- self.put(0, 0, self.out_ann, [1,
- ['WARNING: Sampling rate is suggested to be above ' +
- '1MHz for proper normal mode decoding.']])
-
- # The default 1-Wire time base is 30us. This is used to calculate
- # sampling times.
- samplerate = float(self.samplerate)
- if self.options['cnt_normal_bit']:
- self.cnt_normal_bit = self.options['cnt_normal_bit']
- else:
- self.cnt_normal_bit = int(samplerate * 0.000015) - 1 # 15ns
- if self.options['cnt_normal_slot']:
- self.cnt_normal_slot = self.options['cnt_normal_slot']
- else:
- self.cnt_normal_slot = int(samplerate * 0.000060) - 1 # 60ns
- if self.options['cnt_normal_presence']:
- self.cnt_normal_presence = self.options['cnt_normal_presence']
- else:
- self.cnt_normal_presence = int(samplerate * 0.000075) - 1 # 75ns
- if self.options['cnt_normal_reset']:
- self.cnt_normal_reset = self.options['cnt_normal_reset']
- else:
- self.cnt_normal_reset = int(samplerate * 0.000480) - 1 # 480ns
- if self.options['cnt_overdrive_bit']:
- self.cnt_overdrive_bit = self.options['cnt_overdrive_bit']
- else:
- self.cnt_overdrive_bit = int(samplerate * 0.000002) - 1 # 2ns
- if self.options['cnt_overdrive_slot']:
- self.cnt_overdrive_slot = self.options['cnt_overdrive_slot']
- else:
- self.cnt_overdrive_slot = int(samplerate * 0.0000073) - 1 # 6ns+1.3ns
- if self.options['cnt_overdrive_presence']:
- self.cnt_overdrive_presence = self.options['cnt_overdrive_presence']
- else:
- self.cnt_overdrive_presence = int(samplerate * 0.000010) - 1 # 10ns
- if self.options['cnt_overdrive_reset']:
- self.cnt_overdrive_reset = self.options['cnt_overdrive_reset']
- else:
- self.cnt_overdrive_reset = int(samplerate * 0.000048) - 1 # 48ns