Does the Pixy support clock Stretching? I am still trying to get the pixy working with the STM32F3Discovery board without success. When I have the pixy working with an Arduino Mega I notice that there is a delay in the clock cycles after sending the address with the R/W bit and before the clock when it starts reading the data byte. I am wondering if this is just a delay controlled by the Arduino or if the Pixy is holding the clock low as part of a clock stretching technique. Either way, when I hook-up the STM32 board there is no delay in the clock. On the STM32 board I sporadically read all zeros for the first byte and I cannot figure out why. I always read all zeros at the beginning of the frame which means my software can never sync up with the pixy. Today I am planning on re-writing my code back down to the basic I2C protocol blocks (start, read, stop, etc) so I can manually add a delay similar to what I see on the arduino in hopes that this will fix the problem.
If anyone can shed some light on why my first byte is coming in as all zeros I would be very grateful. Also if there is a specific I2C protocol event (i.e. restart, etc) that I need between the end of the “address/read” command and the beginning of a read operation I would like to know that as well.
Here are some screen shots of what I am seeing on the scope. First one is the signals with the Arduino attached and the second is with the STM32F3Discovery attached.
Thank you all for your time.
Regards,
Brent