ME 405 Romi
Loading...
Searching...
No Matches
bump_task.py
Go to the documentation of this file.
1from pyb import Pin, Timer, ADC
2
11
17 def __init__(self, c_state, bump_sensor_right, bump_sensor_left,bump_on_off, bump_flg):
18 self.c_state = c_state
19 self.bump_sensor_right=bump_sensor_right
20 self.bump_sensor_left=bump_sensor_left
21 self.state=0
22 self.bump_on_off=bump_on_off
23 self.bump_flg=bump_flg
24 self.bump_flg.put(0)
25
26
35 def run(self):
36 while (True):
37 # bump sensor off
38 if self.state==0:
39 if self.bump_on_off.get() ==1:
40 self.state=1
41
42 yield
43 # bump sensor on
44 elif self.state==1:
45
46 if self.bump_on_off.get() ==0:
47 self.state=0
48 if True in (self.bump_sensor_left.is_pressed(), self.bump_sensor_right.is_pressed()):
49 print('bumped')
50 self.bump_flg.put(1)
51
52
53 else:
54 raise ValueError("Not that many states")
55 yield self.state
56
57
Collision detector for cooperative scheduler.
Definition bump_task.py:10
run(self)
This function runs via the cooperative scheduler.
Definition bump_task.py:35
__init__(self, c_state, bump_sensor_right, bump_sensor_left, bump_on_off, bump_flg)
Shares are passed as parameters, used to communicate between tasks in the cooperative scheduler.
Definition bump_task.py:17