More string functions for USB enumeration as a Host.
authortravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Mon, 2 Apr 2012 00:09:19 +0000 (00:09 +0000)
committertravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Mon, 2 Apr 2012 00:09:19 +0000 (00:09 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1129 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

client/GoodFETMAXUSB.py
client/goodfet.maxusbhost

index 2559eb9..8f05d43 100644 (file)
@@ -529,9 +529,12 @@ class GoodFETMAXUSBHost(GoodFETMAXUSB):
         
         if index==0: return "MISSING STRING";
         
         
         if index==0: return "MISSING STRING";
         
-        self.ctl_read(Get_Descriptor_String);
+        status=self.ctl_read(Get_Descriptor_String);
+        if status: return None;
+        
+        #Since we've got a string
         toret="";
         toret="";
-        for c in self.xfrdata:
+        for c in self.xfrdata[2:len(self.xfrdata)]:
             if c>0: toret=toret+chr(c);
         return toret;
         
             if c>0: toret=toret+chr(c);
         return toret;
         
index 4cfaece..074d931 100755 (executable)
@@ -34,8 +34,9 @@ if(sys.argv[1]=="allstrings"):
     client.detect_device();
     time.sleep(0.2);
     client.enumerate_device();
     client.detect_device();
     time.sleep(0.2);
     client.enumerate_device();
-    for foo in range(1,40):
+    for foo in range(1,255):
         print "Grabbing string at index=%i" % foo;
         string=client.getDescriptorString(foo);
         print "Grabbing string at index=%i" % foo;
         string=client.getDescriptorString(foo);
-        print "Strings[%i]=%s" % (foo,string);
+        if string!=None:
+            print "Strings[%i]=%s" % (foo,string);
         sys.stdout.flush();
         sys.stdout.flush();