X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fusb_request%2Fpd.py;h=79539c6b9deea853caefccb2eac8ca0fe1631e98;hb=6e58cefe1056bd17f605e7717c44461d324a953d;hp=4227856a2d394b08b29e33eede08f5c0f9347ada;hpb=72b2a50cc23388ba3568fc96deda79a7e39cbfc5;p=libsigrokdecode.git diff --git a/decoders/usb_request/pd.py b/decoders/usb_request/pd.py index 4227856..79539c6 100644 --- a/decoders/usb_request/pd.py +++ b/decoders/usb_request/pd.py @@ -152,7 +152,7 @@ class Decoder(srd.Decoder): self.put(ss, es, self.out_ann, data) def putb(self, ts, data): - self.put(ts, ts, self.out_bin, data) + self.put(ts, ts, self.out_binary, data) def pcap_global_header(self): # See https://wiki.wireshark.org/Development/LibpcapFileFormat. @@ -173,7 +173,7 @@ class Decoder(srd.Decoder): self.secs_per_sample = float(1) / float(self.samplerate) def start(self): - self.out_bin = self.register(srd.OUTPUT_BINARY) + self.out_binary = self.register(srd.OUTPUT_BINARY) self.out_ann = self.register(srd.OUTPUT_ANN) def handle_transfer(self): @@ -242,7 +242,7 @@ class Decoder(srd.Decoder): def write_pcap_header(self): if not self.wrote_pcap_header: - self.put(0, 0, self.out_bin, (0, self.pcap_global_header())) + self.put(0, 0, self.out_binary, [0, self.pcap_global_header()]) self.wrote_pcap_header = True def request_summary(self, request): @@ -270,8 +270,8 @@ class Decoder(srd.Decoder): # Issue PCAP 'SUBMIT' packet. ts = self.ts_from_samplenum(ss) pkt = pcap_usb_pkt(request, ts, True) - self.putb(ss, (0, pkt.record_header())) - self.putb(ss, (0, pkt.packet())) + self.putb(ss, [0, pkt.record_header()]) + self.putb(ss, [0, pkt.packet()]) if request_end == 1: # Write annotation. @@ -288,8 +288,8 @@ class Decoder(srd.Decoder): # Issue PCAP 'COMPLETE' packet. ts = self.ts_from_samplenum(es) pkt = pcap_usb_pkt(request, ts, False) - self.putb(ss, (0, pkt.record_header())) - self.putb(ss, (0, pkt.packet())) + self.putb(ss, [0, pkt.record_header()]) + self.putb(ss, [0, pkt.packet()]) del self.request[(addr, ep)] def decode(self, ss, es, data): @@ -308,9 +308,10 @@ class Decoder(srd.Decoder): return if self.transaction_state == 'TOKEN RECEIVED': transaction_timeout = self.transaction_es - # token length is 35 bits, timeout is 16..18 bit times (USB 2.0 7.1.19.1) + # Token length is 35 bits, timeout is 16..18 bit times + # (USB 2.0 7.1.19.1). transaction_timeout += int((self.transaction_es - self.transaction_ss) / 2) - if (ss > transaction_timeout): + if ss > transaction_timeout: self.transaction_es = transaction_timeout self.handshake = 'timeout' self.handle_transfer() @@ -350,6 +351,9 @@ class Decoder(srd.Decoder): self.transaction_es = es self.handle_transfer() + elif pname == 'PRE': + return + else: self.putr(ss, es, [4, ['ERR: received unhandled %s token in state %s' % (pname, self.transaction_state)]])