jamesbowman / i2cdriver

I2CDriver open source tools
https://i2cdriver.com/
BSD 3-Clause "New" or "Revised" License
184 stars 57 forks source link

STARTs missing in capture mode #60

Open mbenkmann opened 2 years ago

mbenkmann commented 2 years ago

In capture mode I'm seeing a 0x1 START byte only for the very 1st transfer after initiating capture mode as well as repeated START conditions. Other 0x1 START bytes are not reported. The capture goes straight from 0x0 IDLE to the first bit triple. To make this clearer look at the example from the manual:

0x1 START
0xc bit triple 1, 0, 0
0xa bit triple 0, 1, 0
0xc bit triple 1, 0, 0
0xb bit triple 0, 1, 1
0xe bit triple 1, 1, 0
0xc bit triple 1, 0, 0
0x1 START
0xc bit triple 1, 0, 0
0xa bit triple 0, 1, 0
0xe bit triple 1, 1, 0
0x8 bit triple 0, 0, 0
0x8 bit triple 0, 0, 0
0x8 bit triple 0, 0, 0
0xd bit triple 1, 0, 1
0x8 bit triple 0, 0, 0
0xd bit triple 1, 0, 1
0x2 STOP

This sequence would be reported by capture mode if it was the very 1st transfer after initiating capture mode. If the same transfer was seen again later during the same capture, there would be some intervening 0,0,0,0 and then it would go straight to the 0xc from the first bit triple without reporting the START condition. The repeated START condition in the middle however between 0xc and 0xc would always be reported correctly.