neug_check: display USB strings
authorNIIBE Yutaka <gniibe@fsij.org>
Mon, 15 Oct 2012 00:36:28 +0000 (09:36 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 15 Oct 2012 00:36:28 +0000 (09:36 +0900)
ChangeLog
tool/neug_check.py

index efaec6b..16fb23c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-10-15  Niibe Yutaka  <gniibe@fsij.org>
+
+       * tool/neug_check.py (main): Display USB strings.
+
 2012-10-13  Niibe Yutaka  <gniibe@fsij.org>
 
        * boards/STBEE_MINI/board.c [!DFU_SUPPORT] (boardInit): Don't run
index 46047e2..52af5ec 100755 (executable)
@@ -25,8 +25,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 from struct import *
 import sys, time, os, string
 
-# INPUT: binary file
-
 # Assume only single NeuG device is attached to computer
 
 import usb
@@ -59,6 +57,9 @@ class neug(object):
 
         self.__timeout = 10000
 
+    def get_string(self,no,maxsize):
+        return self.__devhandle.getString(no,maxsize)
+
     def get_mode(self):
         mode = self.__devhandle.controlMsg(requestType = 0xc0, request = 254,
                                           value = 0, index = 0, buffer = 1,
@@ -89,6 +90,7 @@ def com_devices():
                                 alt.interfaceProtocol == COM_PROTOCOL_0:
                             yield dev, config, alt
 
+field = [ '', 'Vendor', 'Product', 'Serial', 'Revision', 'Config', 'Sys' ]
 
 def main():
     com = None
@@ -104,6 +106,10 @@ def main():
     if not com:
         raise ValueError, "No NeuG Device Present"
     print
+    for i in range(1,7):
+        s = com.get_string(i, 512)
+        print "%9s: %s" % (field[i], s)
+    print
     print "mode: %s" % com.get_mode()
     print "Repeat errors: %d" % com.get_info(2)
     print "PP 64  errors: %d" % com.get_info(3)