From 52d4a4917e49e3864cb50cb37cfd86537e42a287 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Tue, 26 Mar 2013 21:00:36 +0100 Subject: digital/io-hub/src/apbirthday: add US sensors ADC --- host/simu/robots/apbirthday/link/bag.py | 10 +++++++++- host/simu/robots/apbirthday/model/bag.py | 12 ++++++++++++ host/simu/robots/apbirthday/view/bag.py | 3 +++ 3 files changed, 24 insertions(+), 1 deletion(-) (limited to 'host/simu/robots') 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] -- cgit v1.2.3