def __init__ (self): Inter.__init__ (self) self.node = Node () self.asserv_link = asserv.Mex (self.node) self.asserv_link.position.register (self.notify_position) self.asserv_link.aux[0].register (self.notify_aux0) self.io_link = io.Mex (self.node) self.notify_jack () self.notify_color_switch () self.jackVar.trace_variable ('w', lambda *args: self.notify_jack ()) self.colorVar.trace_variable ('w', lambda *args: self.notify_color_switch ()) for i in range (len (self.io_link.servo)): self.io_link.servo[i].register ( lambda i = i: self.notify_servo (i)) self.tk.createfilehandler (self.node, READABLE, self.read) self.date = 0 self.synced = True self.step_after = None self.step_time = None self.obstacles = [ ] self.dist_sensors = [ DistSensor (self.tableview.robot, (150, 127), 0, 800), DistSensor (self.tableview.robot, (150, 0), 0, 800), DistSensor (self.tableview.robot, (150, -127), 0, 800), DistSensor (self.tableview.robot, (-70, 100), pi, 800), DistSensor (self.tableview.robot, (-70, -100), pi, 800), ] for s in self.dist_sensors: s.obstacles = self.obstacles s.hide = True s.register (self.update_sharps) self.path = Path (self.tableview.table) self.io_link.path.register (self.notify_path)
def createWidgets (self): Inter.createWidgets (self) self.nowLabel = Label (self.rightFrame, text = 'Now: 0 s') self.nowLabel.pack () self.stepButton = Button (self.rightFrame, text = 'Step', command = self.step) self.stepButton.pack () self.stepSizeScale = Scale (self.rightFrame, orient = HORIZONTAL, from_ = 0.05, to = 1.0, resolution = 0.05) self.stepSizeScale.pack () self.playVar = IntVar () self.playButton = Checkbutton (self.rightFrame, variable = self.playVar, text = 'Play', command = self.play) self.playButton.pack () self.tableview.bind ('<2>', self.place_obstacle) self.showSensorsVar = IntVar () self.showSensorsButton = Checkbutton (self.sensorFrame, variable = self.showSensorsVar, text = 'Show sensors', command = self.show_sensors) self.showSensorsButton.pack ()