X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fusb_request%2Fpd.py;h=39a9df6af60fe822b77424593c7c4e1d1d313eef;hb=04867deb37b0f8cdfad55ab7bdb8708fd13f53fc;hp=61dedb16ad1ee5c56fd7174f520f28a7ce95a8cd;hpb=502acfc2c71a2bbc97d4d7597150cd479bead1ee;p=libsigrokdecode.git diff --git a/decoders/usb_request/pd.py b/decoders/usb_request/pd.py index 61dedb1..39a9df6 100644 --- a/decoders/usb_request/pd.py +++ b/decoders/usb_request/pd.py @@ -137,13 +137,12 @@ class Decoder(srd.Decoder): ) def __init__(self): - self.samplerate = 8e6 # None - self.secs_per_sample = float(1) / float(self.samplerate) + self.samplerate = None self.request = {} self.request_id = 0 self.transaction_state = 'IDLE' - self.transaction_ss = None - self.transaction_es = None + self.ss_transaction = None + self.es_transaction = None self.transaction_ep = None self.transaction_addr = None self.wrote_pcap_header = False @@ -152,7 +151,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 +172,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): @@ -183,7 +182,7 @@ class Decoder(srd.Decoder): addr = self.transaction_addr if not (addr, ep) in self.request: self.request[(addr, ep)] = {'setup_data': [], 'data': [], - 'type': None, 'ss': self.transaction_ss, 'es': None, + 'type': None, 'ss': self.ss_transaction, 'es': None, 'id': self.request_id, 'addr': addr, 'ep': ep} self.request_id += 1 request_started = 1 @@ -193,12 +192,12 @@ class Decoder(srd.Decoder): if request['type'] in (None, 'BULK IN') and self.transaction_type == 'IN': request['type'] = 'BULK IN' request['data'] += self.transaction_data - request['es'] = self.transaction_es + request['es'] = self.es_transaction self.handle_request(request_started, request_end) elif request['type'] in (None, 'BULK OUT') and self.transaction_type == 'OUT': request['type'] = 'BULK OUT' request['data'] += self.transaction_data - request['es'] = self.transaction_es + request['es'] = self.es_transaction self.handle_request(request_started, request_end) # CONTROL, SETUP stage @@ -224,11 +223,11 @@ class Decoder(srd.Decoder): # CONTROL, STATUS stage elif request['type'] == 'SETUP IN' and self.transaction_type == 'OUT': - request['es'] = self.transaction_es + request['es'] = self.es_transaction self.handle_request(0, request_end) elif request['type'] == 'SETUP OUT' and self.transaction_type == 'IN': - request['es'] = self.transaction_es + request['es'] = self.es_transaction self.handle_request(0, request_end) else: @@ -242,7 +241,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): @@ -307,12 +306,12 @@ class Decoder(srd.Decoder): if pname == 'SOF': return if self.transaction_state == 'TOKEN RECEIVED': - transaction_timeout = self.transaction_es + transaction_timeout = self.es_transaction # 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) + transaction_timeout += int((self.es_transaction - self.ss_transaction) / 2) if ss > transaction_timeout: - self.transaction_es = transaction_timeout + self.es_transaction = transaction_timeout self.handshake = 'timeout' self.handle_transfer() self.transaction_state = 'IDLE' @@ -324,8 +323,8 @@ class Decoder(srd.Decoder): sync, pid, addr, ep, crc5 = pinfo self.transaction_data = [] - self.transaction_ss = ss - self.transaction_es = es + self.ss_transaction = ss + self.es_transaction = es self.transaction_state = 'TOKEN RECEIVED' self.transaction_ep = ep self.transaction_addr = addr @@ -348,7 +347,7 @@ class Decoder(srd.Decoder): self.handshake = pname self.transaction_state = 'IDLE' - self.transaction_es = es + self.es_transaction = es self.handle_transfer() elif pname == 'PRE':