bench_1.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 #
4 # WARNING!
5 #
6 
7 ##############################################################################
8 # #
9 # Unless you know what you are doing don't run this script with anything #
10 # connected to the gpios. You will CAUSE damage. #
11 # #
12 ##############################################################################
13 
14 #
15 # WARNING!
16 #
17 
18 import time
19 
20 import pigpio
21 
22 delay = 30
23 
24 class gpioTest:
25 
26  def __init__(self, pi, gpio, edge, freq, duty):
27  self.pi = pi
28  self.gpio = gpio
29  self.edge = edge
30  self.freq = freq
31  self.duty = duty
32  self.calls = 0
33 
34  def cb(self, g, t, l):
35  self.calls = self.calls + 1
36  # print g,t,l
37 
38  def num(self):
39  return self.calls
40 
41  def start(self):
42  self.pi.set_PWM_frequency(self.gpio, self.freq)
43  self.pi.set_PWM_range(self.gpio, 25)
44  self.pi.set_PWM_dutycycle(self.gpio, self.duty)
45  self.n = self.pi.callback(self.gpio, self.edge, self.cb)
46 
47  def stop(self):
48  self.pi.set_PWM_dutycycle(self.gpio, 0)
49  self.n.cancel()
50 
51 pi = pigpio.pi()
52 
53 t1 = gpioTest(pi, 4, pigpio.EITHER_EDGE, 4000, 1)
54 t2 = gpioTest(pi, 7, pigpio.RISING_EDGE, 8000, 2)
55 t3 = gpioTest(pi, 8, pigpio.FALLING_EDGE, 8000, 3)
56 t4 = gpioTest(pi, 9, pigpio.EITHER_EDGE, 4000, 4)
57 t5 = gpioTest(pi,10, pigpio.RISING_EDGE, 8000, 5)
58 t6 = gpioTest(pi,11, pigpio.FALLING_EDGE, 8000, 6)
59 t7 = gpioTest(pi,14, pigpio.EITHER_EDGE, 4000, 7)
60 t8 = gpioTest(pi,15, pigpio.RISING_EDGE, 8000, 8)
61 t9 = gpioTest(pi,17, pigpio.FALLING_EDGE, 8000, 9)
62 t10 = gpioTest(pi,18, pigpio.EITHER_EDGE, 4000, 10)
63 t11 = gpioTest(pi,22, pigpio.RISING_EDGE, 8000, 11)
64 t12 = gpioTest(pi,23, pigpio.FALLING_EDGE, 8000, 12)
65 t13 = gpioTest(pi,24, pigpio.EITHER_EDGE, 4000, 13)
66 t14 = gpioTest(pi,25, pigpio.RISING_EDGE, 8000, 14)
67 
68 # R1: 0 1 4 7 8 9 10 11 14 15 17 18 21 22 23 24 25
69 # R2: 2 3 4 7 8 9 10 11 14 15 17 18 22 23 24 25 27 28 29 30 31
70 
71 tests = [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14]
72 
73 for i in tests: i.start()
74 
75 time.sleep(delay)
76 
77 for i in tests: i.stop()
78 
79 pi.stop()
80 
81 tot = 0
82 msg = ""
83 
84 for i in tests:
85  tot += i.num()
86  msg += str(i.num()) + " "
87 
88 print(msg)
89 
90 print("eps={} ({}/{})".format(tot/delay, tot, delay))
91 
def __init__(self, pi, gpio, edge, freq, duty)
Definition: bench_1.py:26
def cb(self, g, t, l)
Definition: bench_1.py:34
def start(self)
Definition: bench_1.py:41
def stop(self)
Definition: bench_1.py:47
def num(self)
Definition: bench_1.py:38


cob_hand_bridge
Author(s): Mathias Lüdtke
autogenerated on Tue Oct 20 2020 03:35:57