]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - wl12xx/build-utilites.git/blobdiff - scripts/nfc/nfc-demo-scripts/tag-write-demo
add entire build utility directory to ti git
[wl12xx/build-utilites.git] / scripts / nfc / nfc-demo-scripts / tag-write-demo
diff --git a/scripts/nfc/nfc-demo-scripts/tag-write-demo b/scripts/nfc/nfc-demo-scripts/tag-write-demo
new file mode 100755 (executable)
index 0000000..90ddaff
--- /dev/null
@@ -0,0 +1,90 @@
+#!/usr/bin/python
+
+import gobject
+import sys
+import os
+import dbus
+import dbus.mainloop.glib
+import commands
+
+from dbus.lowlevel import MethodCallMessage, HANDLER_RESULT_NOT_YET_HANDLED
+
+def help_text():
+        print "Usage: %s <handover string>" % (sys.argv[0])
+       print "For WLAN connection:"
+        print "%s <AP_SSID>,<Security>,<Key>,WLAN" %(sys.argv[0])
+       print "For BT A2DP demo:"
+        print "%s <BD_ADDR>,<Key>,<Song_Name>,BT" %(sys.argv[0])
+        sys.exit(1)
+
+if len(sys.argv) < 2:
+        help_text()
+
+def extract_list(list):
+       val = ""
+       for i in list:
+               val += " " + str(i)
+       return val
+
+def extract_bool(b):
+        if b == dbus.Boolean(1):
+          val = "true"
+       else:
+               val = "false"
+       return val      
+
+
+def property_changed_adapter(name, value, path):
+    adapter = path[path.rfind("/") + 1:]
+    if name in ["Polling"]:
+           val = extract_bool(value)
+    elif name in ["Tags"]:
+           val = extract_list(value)
+          print('tag: %s '% val)
+          print('Previous tag content:')
+          os.system('python dump-tag %s' % val)
+          os.system('python write-tag %s Text UTF-8 en-US %s' % (val,sys.argv[1]))
+          print('Writing new tag content: %s' % (sys.argv[1]))
+          mainloop.quit()
+    else:
+          val = str(value)
+
+
+def property_changed_manager(name, value, path):
+    manager = path[path.rfind("/") + 1:]
+    if name in ["Adapters"]:
+           val = extract_list(value)
+
+    print "[Manager] %s = %s" % (name, val)
+
+
+if __name__ == '__main__':
+       output = commands.getoutput('ps')
+       if 'neard' in output:
+               print "NFC is up!"
+       else:
+               print "Starting the NFC subsystem..."
+               os.system("neard")
+               os.system("./enable-adapter nfc0")
+
+
+       dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+       bus = dbus.SystemBus()
+
+       bus.add_signal_receiver(property_changed_manager,
+                               bus_name="org.neard",
+                               dbus_interface="org.neard.Manager",
+                               signal_name = "PropertyChanged",
+                               path_keyword="path")
+
+       bus.add_signal_receiver(property_changed_adapter,
+                               bus_name="org.neard",
+                               dbus_interface="org.neard.Adapter",
+                               signal_name = "PropertyChanged",
+                               path_keyword="path")
+
+       os.system('python start-poll nfc0')
+       mainloop = gobject.MainLoop()
+       print('Please place an NFC tag near the reader...')
+       mainloop.run()