@@ -559,17 +559,18 @@ def decode(self):
559559 cond_idle_idx [TX ] = len (conds )
560560 conds .append (idle_cond )
561561 (rx , tx ) = self .wait (conds )
562- if cond_data_idx [RX ] is not None and self .matched [cond_data_idx [RX ]]:
562+
563+ if cond_data_idx [RX ] is not None and (self .matched & (0b1 << cond_data_idx [RX ])):
563564 self .inspect_sample (RX , rx , inv [RX ])
564- if cond_edge_idx [RX ] is not None and self .matched [ cond_edge_idx [RX ]] :
565+ if cond_edge_idx [RX ] is not None and ( self .matched & ( 0b1 << cond_edge_idx [RX ])) :
565566 self .inspect_edge (RX , rx , inv [RX ])
566567 self .inspect_idle (RX , rx , inv [RX ])
567- if cond_idle_idx [RX ] is not None and self .matched [ cond_idle_idx [RX ]] :
568+ if cond_idle_idx [RX ] is not None and ( self .matched & ( 0b1 << cond_idle_idx [RX ])) :
568569 self .inspect_idle (RX , rx , inv [RX ])
569- if cond_data_idx [TX ] is not None and self .matched [ cond_data_idx [TX ]] :
570+ if cond_data_idx [TX ] is not None and ( self .matched & ( 0b1 << cond_data_idx [TX ])) :
570571 self .inspect_sample (TX , tx , inv [TX ])
571- if cond_edge_idx [TX ] is not None and self .matched [ cond_edge_idx [TX ]] :
572+ if cond_edge_idx [TX ] is not None and ( self .matched & ( 0b1 << cond_edge_idx [TX ])) :
572573 self .inspect_edge (TX , tx , inv [TX ])
573574 self .inspect_idle (TX , tx , inv [TX ])
574- if cond_idle_idx [TX ] is not None and self .matched [ cond_idle_idx [TX ]] :
575+ if cond_idle_idx [TX ] is not None and ( self .matched & ( 0b1 << cond_idle_idx [TX ])) :
575576 self .inspect_idle (TX , tx , inv [TX ])
0 commit comments