summaryrefslogtreecommitdiff
path: root/host/simu/robots/robospierre/model/bag.py
diff options
context:
space:
mode:
Diffstat (limited to 'host/simu/robots/robospierre/model/bag.py')
-rw-r--r--host/simu/robots/robospierre/model/bag.py31
1 files changed, 19 insertions, 12 deletions
diff --git a/host/simu/robots/robospierre/model/bag.py b/host/simu/robots/robospierre/model/bag.py
index ce55f997..cedb3805 100644
--- a/host/simu/robots/robospierre/model/bag.py
+++ b/host/simu/robots/robospierre/model/bag.py
@@ -28,29 +28,36 @@ from simu.model.motor_basic import MotorBasic
from simu.model.distance_sensor_sensopart import DistanceSensorSensopart
from simu.robots.robospierre.model.clamp import Clamp
from math import pi
+import random
class Bag:
def __init__ (self, scheduler, table, link_bag):
- self.color_switch = Switch (link_bag.io_hub.contact[0])
- self.jack = Switch (link_bag.io_hub.contact[1])
+ self.color_switch = Switch (link_bag.io_hub.contact[0], invert = True)
+ self.color_switch.state = random.choice ((False, True))
+ self.color_switch.notify ()
+ self.jack = Switch (link_bag.io_hub.contact[1], invert = True)
+ self.strat_switch = Switch (link_bag.io_hub.contact[9], invert = True)
self.contact = [ Switch (contact)
- for contact in link_bag.io_hub.contact[2:] ]
+ for contact in link_bag.io_hub.contact[2:9] ]
self.position = Position (link_bag.asserv.position)
- self.clamping_motor = MotorBasic (link_bag.io_hub.pwm[0], scheduler,
- 2 * pi, 0, pi)
+ self.clamping_motor = MotorBasic (link_bag.io_hub.pwm[2], scheduler,
+ 8 * pi, 0, pi)
+ self.door_motors = [ MotorBasic (link_bag.io_hub.pwm[i], scheduler,
+ 8 * pi, 0, 0.5 * pi) for i in (0, 1, 3, 4) ]
self.clamp = Clamp (table, self.position, link_bag.mimot.aux[0],
- link_bag.mimot.aux[1], self.clamping_motor)
+ link_bag.mimot.aux[1], self.clamping_motor, self.door_motors,
+ self.contact[0:7], link_bag.io_hub.codebar)
self.distance_sensor = [
DistanceSensorSensopart (link_bag.io_hub.adc[0], scheduler, table,
- (20, -20), -pi * 10 / 180, (self.position, ), 2),
- DistanceSensorSensopart (link_bag.io_hub.adc[1], scheduler, table,
(20, 20), pi * 10 / 180, (self.position, ), 2),
+ DistanceSensorSensopart (link_bag.io_hub.adc[1], scheduler, table,
+ (20, -20), -pi * 10 / 180, (self.position, ), 2),
DistanceSensorSensopart (link_bag.io_hub.adc[2], scheduler, table,
- (-20, 20), pi - pi * 10 / 180, (self.position, ), 2),
- DistanceSensorSensopart (link_bag.io_hub.adc[3], scheduler, table,
(-20, -20), pi + pi * 10 / 180, (self.position, ), 2),
+ DistanceSensorSensopart (link_bag.io_hub.adc[3], scheduler, table,
+ (-20, 20), pi - pi * 10 / 180, (self.position, ), 2),
]
- for adc in link_bag.io_hub.adc[4:]:
- adc.value = 0
+ self.path = link_bag.io_hub.path
+ self.pos_report = link_bag.io_hub.pos_report