Go to the documentation of this file.00001
00002
00003 import rospy
00004 import roslib
00005
00006 class NanoKONTROL2Status():
00007 def __init__(self, msg):
00008 if msg.buttons[0] == 1:
00009 self.track_left = True
00010 else:
00011 self.track_left = False
00012 if msg.buttons[1] == 1:
00013 self.track_right = True
00014 else:
00015 self.track_right = False
00016 if msg.buttons[2] == 1:
00017 self.cycle = True
00018 else:
00019 self.cycle = False
00020 if msg.buttons[3] == 1:
00021 self.marker_set = True
00022 else:
00023 self.marker_set = False
00024 if msg.buttons[4] == 1:
00025 self.marker_left = True
00026 else:
00027 self.marker_left = False
00028 if msg.buttons[5] == 1:
00029 self.marker_right = True
00030 else:
00031 self.marker_right = False
00032 if msg.buttons[6] == 1:
00033 self.prev = True
00034 else:
00035 self.prev = False
00036 if msg.buttons[7] == 1:
00037 self.next = True
00038 else:
00039 self.next = False
00040 if msg.buttons[8] == 1:
00041 self.pause = True
00042 else:
00043 self.pause = False
00044 if msg.buttons[9] == 1:
00045 self.play = True
00046 else:
00047 self.play = False
00048 if msg.buttons[10] == 1:
00049 self.rec = True
00050 else:
00051 self.rec = False
00052
00053 if msg.buttons[11] == 1:
00054 self.S1 = True
00055 else:
00056 self.S1 = False
00057 if msg.buttons[12] == 1:
00058 self.S2 = True
00059 else:
00060 self.S2 = False
00061 if msg.buttons[13] == 1:
00062 self.S3 = True
00063 else:
00064 self.S3 = False
00065 if msg.buttons[14] == 1:
00066 self.S4 = True
00067 else:
00068 self.S4 = False
00069 if msg.buttons[15] == 1:
00070 self.S5 = True
00071 else:
00072 self.S5 = False
00073 if msg.buttons[16] == 1:
00074 self.S6 = True
00075 else:
00076 self.S6 = False
00077 if msg.buttons[17] == 1:
00078 self.S7 = True
00079 else:
00080 self.S7 = False
00081 if msg.buttons[18] == 1:
00082 self.S8 = True
00083 else:
00084 self.S8 = False
00085 if msg.buttons[19] == 1:
00086 self.M1 = True
00087 else:
00088 self.M1 = False
00089 if msg.buttons[20] == 1:
00090 self.M2 = True
00091 else:
00092 self.M2 = False
00093 if msg.buttons[21] == 1:
00094 self.M3 = True
00095 else:
00096 self.M3 = False
00097 if msg.buttons[22] == 1:
00098 self.M4 = True
00099 else:
00100 self.M4 = False
00101 if msg.buttons[23] == 1:
00102 self.M5 = True
00103 else:
00104 self.M5 = False
00105 if msg.buttons[24] == 1:
00106 self.M6 = True
00107 else:
00108 self.M6 = False
00109 if msg.buttons[25] == 1:
00110 self.M7 = True
00111 else:
00112 self.M7 = False
00113 if msg.buttons[26] == 1:
00114 self.M8 = True
00115 else:
00116 self.M8 = False
00117 if msg.buttons[27] == 1:
00118 self.R1 = True
00119 else:
00120 self.R1 = False
00121 if msg.buttons[28] == 1:
00122 self.R2 = True
00123 else:
00124 self.R2 = False
00125 if msg.buttons[29] == 1:
00126 self.R3 = True
00127 else:
00128 self.R3 = False
00129 if msg.buttons[30] == 1:
00130 self.R4 = True
00131 else:
00132 self.R4 = False
00133 if msg.buttons[31] == 1:
00134 self.R5 = True
00135 else:
00136 self.R5 = False
00137 if msg.buttons[32] == 1:
00138 self.R6 = True
00139 else:
00140 self.R6 = False
00141 if msg.buttons[33] == 1:
00142 self.R7 = True
00143 else:
00144 self.R7 = False
00145 if msg.buttons[34] == 1:
00146 self.R8 = True
00147 else:
00148 self.R8 = False
00149
00150 self.rotate1 = msg.axes[0]
00151 self.rotate2 = msg.axes[1]
00152 self.rotate3 = msg.axes[2]
00153 self.rotate4 = msg.axes[3]
00154 self.rotate5 = msg.axes[4]
00155 self.rotate6 = msg.axes[5]
00156 self.rotate7 = msg.axes[6]
00157 self.rotate8 = msg.axes[7]
00158
00159 self.slide1 = msg.axes[8]
00160 self.slide2 = msg.axes[9]
00161 self.slide3 = msg.axes[10]
00162 self.slide4 = msg.axes[11]
00163 self.slide5 = msg.axes[12]
00164 self.slide6 = msg.axes[13]
00165 self.slide7 = msg.axes[14]
00166 self.slide8 = msg.axes[15]
00167
00168
00169
00170 import pprint
00171
00172 def joyCB(msg):
00173 status = NanoKONTROL2Status(msg)
00174 pprint.PrettyPrinter().pprint(status.__dict__)
00175
00176
00177 def main():
00178 import roslib
00179 import rospy
00180 from sensor_msgs.msg import Joy
00181
00182 rospy.sleep(1)
00183 rospy.init_node('nanokontrol_controller')
00184 s = rospy.Subscriber('/nanokontrol/joy', Joy, joyCB)
00185
00186 rospy.spin()
00187
00188 if __name__ == '__main__':
00189 main()
00190
00191