summaryrefslogtreecommitdiffhomepage
path: root/host/simu/robots/apbirthday
diff options
context:
space:
mode:
Diffstat (limited to 'host/simu/robots/apbirthday')
-rw-r--r--host/simu/robots/apbirthday/link/bag.py10
-rw-r--r--host/simu/robots/apbirthday/model/bag.py12
-rw-r--r--host/simu/robots/apbirthday/view/bag.py3
3 files changed, 24 insertions, 1 deletions
diff --git a/host/simu/robots/apbirthday/link/bag.py b/host/simu/robots/apbirthday/link/bag.py
index bc81b694..f2401a21 100644
--- a/host/simu/robots/apbirthday/link/bag.py
+++ b/host/simu/robots/apbirthday/link/bag.py
@@ -25,13 +25,15 @@
import io_hub.mex
import asserv.mex
from simu.link.mex_gpio import MexGpio
+from simu.link.mex_adc_channel import MexAdcChannel
class Bag:
def __init__ (self, node, instance = 'robot0'):
self.asserv = asserv.mex.Mex (node, '%s:asserv0' % instance,
aux_nb = 0)
- self.io_hub = io_hub.mex.Mex (node, '%s:io0' % instance, gpios = True)
+ self.io_hub = io_hub.mex.Mex (node, '%s:io0' % instance, gpios = True,
+ adc_channels = True)
gpios = ('raw_jack', 'ihm_color', 'ihm_strat', 'ihm_robot_nb',
'ihm_lol', 'ihm_emerg_stop', 'glass_contact',
'cherry_plate_left_contact', 'cherry_plate_right_contact',
@@ -45,3 +47,9 @@ class Bag:
'gift_in', 'ballon_funny_action', 'pneum_open')
for gpio in gpios:
setattr (self, gpio, MexGpio (self.io_hub.gpios, gpio))
+ self.adc_dist = [
+ MexAdcChannel (self.io_hub.adc_channels, 'dist0'),
+ MexAdcChannel (self.io_hub.adc_channels, 'dist1'),
+ MexAdcChannel (self.io_hub.adc_channels, 'dist2'),
+ MexAdcChannel (self.io_hub.adc_channels, 'dist3'),
+ ]
diff --git a/host/simu/robots/apbirthday/model/bag.py b/host/simu/robots/apbirthday/model/bag.py
index aa79f9d4..bef099f9 100644
--- a/host/simu/robots/apbirthday/model/bag.py
+++ b/host/simu/robots/apbirthday/model/bag.py
@@ -25,6 +25,8 @@
from simu.model.switch import Switch
from simu.model.position import Position
from simu.model.round_obstacle import RoundObstacle
+from simu.model.distance_sensor_sensopart import DistanceSensorSensopart
+from math import pi
import random
class Bag:
@@ -37,4 +39,14 @@ class Bag:
self.beacon = RoundObstacle (40, 5)
table.obstacles.append (self.beacon)
self.position = Position (link_bag.asserv.position, [ self.beacon ])
+ self.distance_sensor = [
+ DistanceSensorSensopart (link_bag.adc_dist[0], scheduler, table,
+ (100, 120), 0, (self.position, ), 4),
+ DistanceSensorSensopart (link_bag.adc_dist[1], scheduler, table,
+ (100, -120), 0, (self.position, ), 4),
+ DistanceSensorSensopart (link_bag.adc_dist[2], scheduler, table,
+ (-50, 120), pi, (self.position, ), 4),
+ DistanceSensorSensopart (link_bag.adc_dist[3], scheduler, table,
+ (-50, -120), pi, (self.position, ), 4),
+ ]
diff --git a/host/simu/robots/apbirthday/view/bag.py b/host/simu/robots/apbirthday/view/bag.py
index 8ced9b43..dfea21fa 100644
--- a/host/simu/robots/apbirthday/view/bag.py
+++ b/host/simu/robots/apbirthday/view/bag.py
@@ -23,6 +23,7 @@
# }}}
"""APBirthday bag of views."""
from simu.view.switch import Switch
+from simu.view.distance_sensor_us import DistanceSensorUS
from simu.robots.apbirthday.view.robot import Robot
class Bag:
@@ -32,4 +33,6 @@ class Bag:
self.color_switch = Switch (sensor_frame, model_bag.color_switch,
'Color')
self.robot = Robot (table, model_bag.position)
+ self.distance_sensor = [DistanceSensorUS (self.robot, ds)
+ for ds in model_bag.distance_sensor]