Add comment expaining what it does. Convert to unix lineends
This commit is contained in:
parent
8b4aaeabe9
commit
5e69eadb38
|
@ -1,45 +1,50 @@
|
||||||
import r0ketrem0te.game
|
#
|
||||||
|
# allows you to control the roketlauncher via the rem0te l0dable
|
||||||
|
# documented this in the wiki:
|
||||||
|
# - http://r0ket.badge.events.ccc.de/r0ketlauncher#launch0r
|
||||||
|
#
|
||||||
|
import r0ketrem0te.game
|
||||||
import time
|
import time
|
||||||
import hid
|
import hid
|
||||||
|
|
||||||
class Launch0r:
|
|
||||||
def __init__(self):
|
|
||||||
self.rem0te = r0ketrem0te.game.Game('/dev/cu.usbmodem411', "Launch0r", 83, 87, [ord(x) for x in 'REM0T'], 1, False)
|
|
||||||
self.rem0te.registerPlayerCallback(self.playercallback)
|
|
||||||
self.player = Rem0tePlayer(self.rem0te)
|
|
||||||
|
|
||||||
def playercallback(self, action, player):
|
|
||||||
if action == 'added':
|
|
||||||
if self.player == None:
|
|
||||||
self.player.player = player
|
|
||||||
elif action == 'removed':
|
|
||||||
self.player = None
|
|
||||||
|
|
||||||
def run(self):
|
|
||||||
self.player.launcher = hid.device(0x0a81, 0x0701)
|
|
||||||
self.player.launcher.set_nonblocking(1)
|
|
||||||
|
|
||||||
class Rem0tePlayer(object):
|
class Launch0r:
|
||||||
def __init__(self, rem0te):
|
def __init__(self):
|
||||||
self.rem0te = rem0te
|
self.rem0te = r0ketrem0te.game.Game('/dev/cu.usbmodem411', "Launch0r", 83, 87, [ord(x) for x in 'REM0T'], 1, False)
|
||||||
self.rem0te.bridge.registerCallback(self.receivedPacket)
|
self.rem0te.registerPlayerCallback(self.playercallback)
|
||||||
|
self.player = Rem0tePlayer(self.rem0te)
|
||||||
|
|
||||||
|
def playercallback(self, action, player):
|
||||||
|
if action == 'added':
|
||||||
|
if self.player == None:
|
||||||
|
self.player.player = player
|
||||||
|
elif action == 'removed':
|
||||||
|
self.player = None
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
self.player.launcher = hid.device(0x0a81, 0x0701)
|
||||||
|
self.player.launcher.set_nonblocking(1)
|
||||||
|
|
||||||
|
class Rem0tePlayer(object):
|
||||||
|
def __init__(self, rem0te):
|
||||||
|
self.rem0te = rem0te
|
||||||
|
self.rem0te.bridge.registerCallback(self.receivedPacket)
|
||||||
self.player = None
|
self.player = None
|
||||||
self.launcher = None
|
self.launcher = None
|
||||||
|
|
||||||
def receivedPacket(self, packet):
|
def receivedPacket(self, packet):
|
||||||
if packet.button == 0:#off
|
if packet.button == 0:#off
|
||||||
self.launcher.write([0x20, 0, 0])
|
self.launcher.write([0x20, 0, 0])
|
||||||
if packet.button == 4:#left
|
if packet.button == 4:#left
|
||||||
self.launcher.write([0x04, 0, 0])
|
self.launcher.write([0x04, 0, 0])
|
||||||
if packet.button == 8:#right
|
if packet.button == 8:#right
|
||||||
self.launcher.write([0x08, 0, 0])
|
self.launcher.write([0x08, 0, 0])
|
||||||
if packet.button == 1:#up
|
if packet.button == 1:#up
|
||||||
self.launcher.write([0x02, 0, 0])
|
self.launcher.write([0x02, 0, 0])
|
||||||
if packet.button == 2:#down
|
if packet.button == 2:#down
|
||||||
self.launcher.write([0x01, 0, 0])
|
self.launcher.write([0x01, 0, 0])
|
||||||
if packet.button == 16:#fire
|
if packet.button == 16:#fire
|
||||||
self.launcher.write([0x10, 0, 0])
|
self.launcher.write([0x10, 0, 0])
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
launch0r = Launch0r()
|
launch0r = Launch0r()
|
||||||
launch0r.run()
|
launch0r.run()
|
||||||
|
|
Loading…
Reference in New Issue