Beispiel #1
0
    def __init__(self):
        tk.Tk.__init__(self)
        self.title("Keyboard Control of Robot Arm")
        self.arm = Arm()
##        self.arm.command_timeout = 50 # if arm still timeout's then uncomment this line and increase value

        f = tk.Frame(self)
        f.pack(side="top", expand=True, fill="x")

        f1 = tk.Frame(f, bd=1, relief="sunken")
        f1.pack(side="left")

        tk.Label(f1, text="Function:")       .grid(column=1, row=1, sticky="w")
        tk.Label(f1, text="Key:")            .grid(column=2, row=1, sticky="w")
        
        tk.Label(f1, text="Base Left:")      .grid(column=1, row=2, sticky="w")
        tk.Label(f1, text="Left")            .grid(column=2, row=2, sticky="w")
        tk.Label(f1, text="Base Right:")     .grid(column=1, row=3, sticky="w")
        tk.Label(f1, text="Right")           .grid(column=2, row=3, sticky="w")
        tk.Label(f1, text="Shoulder Up:")    .grid(column=1, row=4, sticky="w")
        tk.Label(f1, text="Up")              .grid(column=2, row=4, sticky="w")
        tk.Label(f1, text="Shoulder Down:")  .grid(column=1, row=5, sticky="w")
        tk.Label(f1, text="Down")            .grid(column=2, row=5, sticky="w")

        f2 = tk.Frame(f, bd=1, relief="sunken")
        f2.pack(side="left")
        
        tk.Label(f2, text="Function:")       .grid(column=3, row=1, sticky="w")
        tk.Label(f2, text="Key:")            .grid(column=4, row=1, sticky="w")
        
        tk.Label(f2, text="Elbow Up:")       .grid(column=3, row=2, sticky="w")
        tk.Label(f2, text="Home")            .grid(column=4, row=2, sticky="w")
        tk.Label(f2, text="Elbow Down:")     .grid(column=3, row=3, sticky="w")
        tk.Label(f2, text="End")             .grid(column=4, row=3, sticky="w")
        tk.Label(f2, text="Wrist Up:")       .grid(column=3, row=4, sticky="w")
        tk.Label(f2, text="Insert")          .grid(column=4, row=4, sticky="w")
        tk.Label(f2, text="Wrist Down:")     .grid(column=3, row=5, sticky="w")
        tk.Label(f2, text="Delete")          .grid(column=4, row=5, sticky="w")

        f3 = tk.Frame(f, bd=1, relief="sunken")
        f3.pack(side="left", fill="y")
        
        tk.Label(f3, text="Function:")       .grid(column=5, row=1, sticky="w")
        tk.Label(f3, text="Key:")            .grid(column=6, row=1, sticky="w")
        
        tk.Label(f3, text="Grip Open:")      .grid(column=5, row=2, sticky="w")
        tk.Label(f3, text="Page-Up")         .grid(column=6, row=2, sticky="w")
        tk.Label(f3, text="Grip Close:")     .grid(column=5, row=3, sticky="w")
        tk.Label(f3, text="Page-Down")       .grid(column=6, row=3, sticky="w")
        tk.Label(f3, text="Toggle Light:")   .grid(column=5, row=4, sticky="w")
        tk.Label(f3, text="L")               .grid(column=6, row=4, sticky="w")
        
        self.c_window = ScrolledText(self, width=20, height=20)
        self.c_window.pack(side="top", expand=True, fill="both")

        self.count = 1

        self.lit = False

        self.bind("<FocusOut>", self.stop_all)
        self.bind("<Escape>", self.stop_all)
        self.bind("<l>", self.toggle_light)
        self.bind("<KeyPress-Prior>", self.grip_open) # page up key
        self.bind("<KeyRelease-Prior>", self.grip_stop) # page up key
        self.bind("<KeyPress-Next>", self.grip_close) # page down key
        self.bind("<KeyRelease-Next>", self.grip_stop) # page down key
        
        self.bind("<KeyPress-Left>", self.base_left)
        self.bind("<KeyRelease-Left>", self.base_stop)
        self.bind("<KeyPress-Right>", self.base_right)
        self.bind("<KeyRelease-Right>", self.base_stop)

        self.bind("<KeyPress-Up>", self.shoulder_up)
        self.bind("<KeyRelease-Up>", self.shoulder_stop)
        self.bind("<KeyPress-Down>", self.shoulder_down)
        self.bind("<KeyRelease-Down>", self.shoulder_stop)

        self.bind("<KeyPress-Home>", self.elbow_up)
        self.bind("<KeyRelease-Home>", self.elbow_stop)
        self.bind("<KeyPress-End>", self.elbow_down)
        self.bind("<KeyRelease-End>", self.elbow_stop)

        self.bind("<KeyPress-Insert>", self.wrist_up)
        self.bind("<KeyRelease-Insert>", self.wrist_stop)
        self.bind("<KeyPress-Delete>", self.wrist_down)
        self.bind("<KeyRelease-Delete>", self.wrist_stop)