- expected_pin_behavior = {
- 'Dx_INPUT_TRUE': return_true,
- 'Dx_INPUT_FALSE': return_false,
- 'Dx_INPUT_TRUE_THEN_FALSE': return_toggle,
- 'Dx_INPUT_TRUE_PULL_UP': return_true,
- 'Dx_INPUT_TRUE_PULL_DOWN': return_true,
- 'Dx_OUTPUT_TRUE': return_true,
- 'Dx_OUTPUT_FALSE': return_true,
- 'Ax_INPUT_RAND_INT': return_random_int
- }
+ # pylint: disable=no-self-use
+
+ def return_toggle(self):
+ """Returns the pin's expected value, toggling between True and False"""
+ toggle_state = not self.previous_value
+ return toggle_state
+
+ def return_false(self):
+ """Returns the pin's expected value, False"""
+ return False
+
+ def return_true(self):
+ """Returns the pin's expected value, True"""
+ return True
+
+ def return_random_int(self):
+ """Returns a random integer"""
+ return random.randint(0, 65535)
+
+ def return_fixed_int_pi(self):
+ """Returns the first five digits of Pi, 31415"""
+ return 31415
+
+ def return_sine_wave(self):
+ """Returns the next value in the sine wave"""
+ if self._wave_idx is None:
+ self._wave_idx = 0
+ else:
+ self._wave_idx = (self._wave_idx + 1) % len(sine_wave)
+ return sine_wave[self._wave_idx]
+
+ def return_sawtooth_wave(self):
+ """Returns the next value in the sawtooth wave"""
+ if self._wave_idx is None:
+ self._wave_idx = 0
+ else:
+ self._wave_idx = (self._wave_idx + 1) % len(sawtooth_wave)
+ return sawtooth_wave[self._wave_idx]