From 09c941cd2d30d07ef2dfe779bff2c934ce7cd718 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Thu, 28 Mar 2013 20:18:36 +0100 Subject: digital/io-hub/tools, host/simu/robots: move gpios definitions --- digital/io-hub/tools/io_hub/apbirthday.py | 51 +++++++++++++++++++++++++++++++ host/simu/robots/apbirthday/link/bag.py | 14 ++------- 2 files changed, 53 insertions(+), 12 deletions(-) create mode 100644 digital/io-hub/tools/io_hub/apbirthday.py diff --git a/digital/io-hub/tools/io_hub/apbirthday.py b/digital/io-hub/tools/io_hub/apbirthday.py new file mode 100644 index 00000000..4e604c21 --- /dev/null +++ b/digital/io-hub/tools/io_hub/apbirthday.py @@ -0,0 +1,51 @@ +# io-hub - Modular Input/Output. {{{ +# +# Copyright (C) 2013 Nicolas Schodet +# +# APBTeam: +# Web: http://apbteam.org/ +# Email: team AT apbteam DOT org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# }}} +"""Definitions for APBirthday.""" + +inputs = [ + 'raw_jack', 'ihm_color', 'ihm_strat', 'ihm_robot_nb', + 'ihm_lol', 'ihm_emerg_stop', 'glass_contact', + 'cherry_plate_left_contact', 'cherry_plate_right_contact', + ] +outputs = [ + 'cherry_bad_out', 'cherry_bad_in', 'cherry_plate_up', + 'cherry_plate_down', 'cherry_plate_clamp', 'cake_arm_out', + 'cake_arm_in', 'cake_push_far_out', 'cake_push_far_in', + 'cake_push_near_out', 'cake_push_near_in', + 'glass_lower_clamp_close', 'glass_lower_clamp_open', + 'glass_upper_clamp_close', 'glass_upper_clamp_open', + 'glass_upper_clamp_up', 'glass_upper_clamp_down', 'gift_out', + 'gift_in', 'ballon_funny_action', 'pneum_open', + ] +gpios = inputs + outputs + +outputs_dict = { } +for i, output in enumerate (outputs): + outputs_dict[output] = i + +def output_mask (*l): + m = 0 + for output in l: + m = m | (1 << outputs_dict[output]) + return m diff --git a/host/simu/robots/apbirthday/link/bag.py b/host/simu/robots/apbirthday/link/bag.py index f2401a21..49f6fe82 100644 --- a/host/simu/robots/apbirthday/link/bag.py +++ b/host/simu/robots/apbirthday/link/bag.py @@ -23,6 +23,7 @@ # }}} """APBirthday bag of links.""" import io_hub.mex +import io_hub.apbirthday import asserv.mex from simu.link.mex_gpio import MexGpio from simu.link.mex_adc_channel import MexAdcChannel @@ -34,18 +35,7 @@ class Bag: aux_nb = 0) 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', - 'cherry_bad_out', 'cherry_bad_in', 'cherry_plate_up', - 'cherry_plate_down', 'cherry_plate_clamp', 'cake_arm_out', - 'cake_arm_in', 'cake_push_far_out', 'cake_push_far_in', - 'cake_push_near_out', 'cake_push_near_in', - 'glass_lower_clamp_close', 'glass_lower_clamp_open', - 'glass_upper_clamp_close', 'glass_upper_clamp_open', - 'glass_upper_clamp_up', 'glass_upper_clamp_down', 'gift_out', - 'gift_in', 'ballon_funny_action', 'pneum_open') - for gpio in gpios: + for gpio in io_hub.apbirthday.gpios: setattr (self, gpio, MexGpio (self.io_hub.gpios, gpio)) self.adc_dist = [ MexAdcChannel (self.io_hub.adc_channels, 'dist0'), -- cgit v1.2.3