ME 405 Romi
Loading...
Searching...
No Matches
bump_task.py
Go to the documentation of this file.
1
from
pyb
import
Pin, Timer, ADC
2
10
class
Bump_Task
:
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
bump_task.Bump_Task
Collision detector for cooperative scheduler.
Definition
bump_task.py:10
bump_task.Bump_Task.bump_sensor_right
bump_sensor_right
Definition
bump_task.py:19
bump_task.Bump_Task.bump_on_off
bump_on_off
Definition
bump_task.py:22
bump_task.Bump_Task.run
run(self)
This function runs via the cooperative scheduler.
Definition
bump_task.py:35
bump_task.Bump_Task.__init__
__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
bump_task.Bump_Task.c_state
c_state
Definition
bump_task.py:18
bump_task.Bump_Task.bump_sensor_left
bump_sensor_left
Definition
bump_task.py:20
bump_task.Bump_Task.state
int state
Definition
bump_task.py:21
bump_task.Bump_Task.bump_flg
bump_flg
Definition
bump_task.py:23
vscode_python
bump_task.py
Generated by
1.15.0