libmpsse icon indicating copy to clipboard operation
libmpsse copied to clipboard

Possible bug in support.c:gpio_write

Open reggie-mcmurtrey opened this issue 3 years ago • 2 comments

https://github.com/l29ah/libmpsse/blob/8e1ce70b57772bf1c9bb647bf0d5498e989f0ce9/src/support.c#L293

I think the above line of code has a bug. I think it should be "retval = set_bits_low(mpsse, mpsse->pidle);".

By using pstart you are forcing the bus to a start condition when toggling the GPIO's after a stop condition. For example what if you are controlling a reset pin with one of the GPIOL signals. When you go to de-assert reset you would force a start condition on the bus. Many hardware devices have a time requirement from reset de-assertion to the start of any bus transfers. However if you use pidle, you keep the bus in the idle state it's already in since you can only use gpio_write after a stop condition when in I2C or SPI modes.

reggie-mcmurtrey avatar Jan 24 '22 16:01 reggie-mcmurtrey

Duplicate of #

xmen810524 avatar Aug 21 '22 03:08 xmen810524

Duplicate of #

xmen810524 avatar Aug 21 '22 03:08 xmen810524