def specific_wait_frame(self, timeout=2): msg = J2534.ptRxMsg() maskMsg = J2534.ptMskMsg(0) maskMsg.setID(0xffffffff) patternMsg = J2534.ptPatternMsg(0) patternMsg.setID(RECV_ID) flowcontrolMsg = J2534.ptPatternMsg(0) flowcontrolMsg.setID(SEND_ID) ret, fiterid = J2534.ptStartMsgFilter(self.channel, FilterType.FLOW_CONTROL_FILTER, maskMsg, patternMsg, flowcontrolMsg) ret = J2534.ptReadMsgs(self.channel, msg, 1, 100) #if ret == 0: # msg.show() ret = J2534.ptReadMsgs(self.channel, msg, 1, 100) if ret == 0: msg.show() return bytes(msg.Data[4:msg.DataSize]) return None
BRODCAST_ID = 0x7df SEND_ID = 0x7e0 RECV_ID = 0x7e8 try: index = int(sys.argv[1], base=10) except: index = 0 J2534.setDevice(index) ret, id1 = J2534.ptOpen() ret, ch1 = J2534.ptConnect(id1, ProtocolID.ISO15765, 0, BaudRate.B500K) msg = J2534.ptRxMsg() maskMsg = J2534.ptMskMsg(0) maskMsg.setID(0xffffffff) patternMsg = J2534.ptPatternMsg(0) patternMsg.setID(SEND_ID) flowcontrolMsg = J2534.ptPatternMsg(0) flowcontrolMsg.setID(0x641) ret, fiterid = J2534.ptStartMsgFilter(ch1, FilterType.FLOW_CONTROL_FILTER, maskMsg, patternMsg, flowcontrolMsg) start = time.time()