11"""key_ctrl - key based arm controller"""
22from functools import partial
3- import owi_maplin_robot_arm
3+ import logging
4+ import sys
5+
46import pygame
57from pygame .locals import *
6- import sys
8+
9+ import owi_maplin_usb_arm as usb_arm
710
811
912def handle_key (arm , delay , key_map , key ):
1013 def do_it ():
1114 if key in key_map :
12- print ("Doing key " , key )
13- arm .move (key_map [key ], delay )
15+ message = key_map [key ]
16+ print ("Key " , key , "Movement message" , message )
17+
18+ arm .move (message , delay )
1419 arm .safe_tell (do_it )
1520
1621
1722def make_keymap ():
1823 """Bp - an initialised arm bitpattern.
1924 returns the keymap"""
2025 return {
21- K_z : owi_maplin_robot_arm .BaseClockWise ,
22- K_x : owi_maplin_robot_arm .BaseCtrClockWise ,
23- K_r : owi_maplin_robot_arm .CloseGrips ,
24- K_f : owi_maplin_robot_arm .OpenGrips ,
25- K_a : owi_maplin_robot_arm .ShoulderDown ,
26- K_q : owi_maplin_robot_arm .ShoulderUp ,
27- K_s : owi_maplin_robot_arm .ElbowDown ,
28- K_w : owi_maplin_robot_arm .ElbowUp ,
29- K_d : owi_maplin_robot_arm .WristDown ,
30- K_e : owi_maplin_robot_arm .WristUp }
26+ K_z : usb_arm .BaseClockWise ,
27+ K_x : usb_arm .BaseCtrClockWise ,
28+ K_r : usb_arm .CloseGrips ,
29+ K_f : usb_arm .OpenGrips ,
30+ K_a : usb_arm .ShoulderDown ,
31+ K_q : usb_arm .ShoulderUp ,
32+ K_s : usb_arm .ElbowDown ,
33+ K_w : usb_arm .ElbowUp ,
34+ K_d : usb_arm .WristDown ,
35+ K_e : usb_arm .WristUp ,
36+ K_l : usb_arm .LedOn }
3137
3238
3339def key_loop ():
3440 km = make_keymap ()
3541 try :
36- arm = owi_maplin_robot_arm .Arm ()
42+ arm = usb_arm .Arm ()
3743 except AttributeError :
3844 print ("Please make sure the arm is connected and turned on" )
3945 sys .exit (1 )
@@ -53,7 +59,11 @@ def key_loop():
5359
5460
5561def main ():
62+ logging .basicConfig ()
63+ usb_arm .logger .setLevel (logging .DEBUG )
5664 pygame .init ()
65+ pygame .display .set_mode ([200 , 200 ])
66+ print ("Press z/x to turn the base motor" )
5767 key_loop ()
5868
5969
0 commit comments