diff --git a/pigpio.c b/pigpio.c index 3fc6402..68dab59 100644 --- a/pigpio.c +++ b/pigpio.c @@ -10651,7 +10651,12 @@ int bscXfer(bsc_xfer_t *xfer) active = 1; } - myGpioSleep(0, 200); + if (!active) + { + active = bscsReg[BSC_FR] & (BSC_FR_RXBUSY | BSC_FR_TXBUSY); + } + + if (active) myGpioSleep(0, 20); } bscFR = bscsReg[BSC_FR] & 0xffff; diff --git a/pigpio.h b/pigpio.h index 11ee4b9..dd6d2f8 100644 --- a/pigpio.h +++ b/pigpio.h @@ -31,7 +31,7 @@ For more information, please refer to #include #include -#define PIGPIO_VERSION 6702 +#define PIGPIO_VERSION 6703 /*TEXT @@ -496,7 +496,7 @@ typedef struct /* BSC FIFO size */ -#define BSC_FIFO_SIZE 16 +#define BSC_FIFO_SIZE 512 typedef struct {