Потихоньку изучаю новозеландский софт со шнурком. Посмотрел как EvoScan общается с драйвером шнурка, видно, что инициализация на скорости 5 baud у них делается не через bit bang функции, как везде предполагается, а через break on/off. Это трейс неудачного коннекта, шнурок просто висит в компе, не подключенный к машине, завтра постараюсь реальный снять, сегодня уже поздновато. Время - секунды и миллисекунды. Дока на API драйвера:
http://www.ftdichip.com/Support/Documen ... 00071).pdf
55.716 FT_ListDevices(flags=0x80000000)
55.716 FT_ListDevices: cnt=1
55.716 FT_ListDevices(dev=0, flags=0x40000001)
55.736 FT_ListDevices: serial=FTUJKETK
55.736 FT_ListDevices(dev=0, flags=0x40000002)
55.746 FT_ListDevices: description=EvoScan Mitsubishi OBD1
55.746 FT_Open(dev=0)
55.756 FT_Purge(mask=3)
55.766 FT_SetBaudRate(baudrate=1953)
55.776 FT_SetDataCharacteristics(len=8, stops=0, parity=0)
55.776 FT_SetFlowControl(flow=0, xon=0, xoff=0)
55.776 FT_SetTimeouts(read=1000, write=1000)
55.776 FT_GetLatencyTimer: timer=1
55.776 FT_SetLatencyTimer(timer=1)
55.816 FT_Write(bytes=1)
55.816 17
55.816 FT_Write: written=1
55.826 FT_Read(toRead=2)
56.827 FT_Read: returned=0
56.827 FT_Write(bytes=1)
56.827 33
56.827 FT_Write: written=1
56.827 FT_Read(toRead=2)
57.869 FT_Read: returned=0
57.889 FT_Purge(mask=3)
57.899 FT_SetDtr
58.409 FT_ClrDtr
59.161 FT_SetDtr
59.771 FT_SetBreakOn
01.574 FT_SetBreakOff
01.574 FT_Read(toRead=4)
02.575 FT_Read: returned=0
02.575 FT_Write(bytes=1)
02.575 fe
02.575 FT_Write: written=1
02.575 FT_Read(toRead=2)
03.577 FT_Read: returned=0
03.577 FT_Close