]> Repositories - Adafruit_Blinka-hackapet.git/blob - examples/generic_aio.py
add square wave generation
[Adafruit_Blinka-hackapet.git] / examples / generic_aio.py
1 import pytest
2 import board
3 import analogio
4
5 sine_wave = [
6     0,
7     31,
8     59,
9     81,
10     95,
11     100,
12     95,
13     81,
14     59,
15     31,
16     0,
17     -31,
18     -59,
19     -81,
20     -95,
21     -100,
22     -95,
23     -81,
24     -59,
25     -31,
26 ]
27
28 def test_ax_input_rand_int():
29   assert board.board_id == "GENERIC_AGNOSTIC_BOARD"
30   pin_random = analogio.AnalogIn(board.Ax_INPUT_RAND_INT)
31
32   assert isinstance(pin_random.value, int)
33
34   pin_random.deinit()
35
36 def test_ax_input_fixed_int_pi():
37   assert board.board_id == "GENERIC_AGNOSTIC_BOARD"
38   pin_pi = analogio.AnalogIn(board.Ax_INPUT_FIXED_INT_PI)
39
40   assert pin_pi.value == 31415
41
42   pin_pi.deinit()
43
44 def test_ax_input_sine_wave():
45   assert board.board_id == "GENERIC_AGNOSTIC_BOARD"
46   pin_sine_wave = analogio.AnalogIn(board.Ax_OUTPUT_WAVE_SINE)
47
48   # Run through the sine wave once
49   for i in range(len(sine_wave)):
50     assert pin_sine_wave.value == sine_wave[i]
51
52   # Run through the sine wave again to ensure it loops back correctly
53   for i in range(len(sine_wave)):
54     assert pin_sine_wave.value == sine_wave[i]
55
56   pin_sine_wave.deinit()