tests/wiimote/py_ext_0@py_ext/pyfile.xml
changeset 3416 53c66c4aefa3
parent 3415 c270b6c8162b
child 3422 700b39cb4525
child 3427 f748161de54b
--- a/tests/wiimote/py_ext_0@py_ext/pyfile.xml	Tue Jan 25 16:37:16 2022 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<PyFile>
-  <variables>
-    <variable name="WiiNunchuckStickX" type="INT"/>
-    <variable name="WiiNunchuckStickY" type="INT"/>
-    <variable name="WiiNunchuckAccX" type="INT"/>
-    <variable name="WiiNunchuckAccY" type="INT"/>
-    <variable name="WiiNunchuckAccZ" type="INT"/>
-    <variable name="WiiNunchuckButtons" type="WORD"/>
-    <variable name="WiiButtons" type="WORD"/>
-  </variables>
-  <globals>
-<![CDATA[
-import cwiid,commands,sys,re,os,time
-
-wiimote = None
-WIIMOTE_ADDR_MODEL = re.compile("((?:[0-9A-F]{2})(?::[0-9A-F]{2}){5})\s*Nintendo")
-nunchuckzero = None
-
-def Wiimote_cback(messages, time):
-    global nunchuckzero
-    state = dict(messages)
-    bts = state.get(cwiid.MESG_BTN, None)
-    if bts is not None:
-        PLCGlobals.WiiButtons = bts
-    nunchuck = state.get(cwiid.MESG_NUNCHUK, None)
-    if nunchuck is not None:
-        PLCGlobals.WiiNunchuckButtons = nunchuck['buttons']
-        X,Y = nunchuck['stick']
-        PLCGlobals.WiiNunchuckAccX = nunchuck['acc'][cwiid.X]
-        PLCGlobals.WiiNunchuckAccY = nunchuck['acc'][cwiid.Y]
-        PLCGlobals.WiiNunchuckAccZ = nunchuck['acc'][cwiid.Z]
-        if nunchuckzero is None:
-            nunchuckzero = X,Y
-        (PLCGlobals.WiiNunchuckStickX,
-         PLCGlobals.WiiNunchuckStickY) = X-nunchuckzero[0],Y-nunchuckzero[1]
-
-def Connect_Wiimote(connected_callback):
-    global wiimote,nunchuckzero
-    mac_addr = ''
-    try:
-        mac_addr = file("wiimac.txt","rt").read()
-    except:
-        PLCObject.LogMessage("Wiimote MAC unknown, scanning bluetooth")
-        output = commands.getoutput("hcitool scan")
-        result = WIIMOTE_ADDR_MODEL.search(output)
-        if result is not None:
-            mac_addr = result.group(1)
-            PLCObject.LogMessage("Found Wiimote with MAC %s"%mac_addr)
-            file("wiimac.txt","wt").write(mac_addr)
- 
-    # Connect to wiimote
-    if not mac_addr:
-        PLCObject.LogMessage("Connection to unknown Wiimote...")
-        wiimote = cwiid.Wiimote()
-    else:
-        PLCObject.LogMessage("Connection to Wiimote %s..."%mac_addr)
-        wiimote = cwiid.Wiimote(mac_addr)
-
-    if wiimote is not None:
-        nunchuckzero = None
-        wiimote.rpt_mode = cwiid.RPT_BTN | cwiid.RPT_EXT
-        # use the callback interface
-        wiimote.mesg_callback = Wiimote_cback
-        wiimote.enable(cwiid.FLAG_MESG_IFC)
-        connected_callback(mac_addr)
-        PLCObject.LogMessage("Wiimote %s Connected"%mac_addr)
-    else:
-        PLCObject.LogMessage("Wiimote %s not found"%mac_addr)
-        os.remove("wiimac.txt")
-        connected_callback(None)
-
-def Disconnect_Wiimote():
-  global wiimote
-  if wiimote is not None:
-    wiimote.disable(cwiid.FLAG_MESG_IFC)
-    time.sleep(0.1)
-    wiimote.close()
-    wiimote = None
-    PLCObject.LogMessage("Wiimote disconnected")
-
-]]>
-  </globals>
-  <init>
-<![CDATA[
-]]>
-  </init>
-  <cleanup>
-<![CDATA[
-Disconnect_Wiimote()
-
-]]>
-  </cleanup>
-  <start>
-<![CDATA[
-]]>
-  </start>
-  <stop>
-<![CDATA[
-]]>
-  </stop>
-</PyFile>