diff options
Diffstat (limited to 'src/cc1111/ao_spi.c')
| -rw-r--r-- | src/cc1111/ao_spi.c | 24 | 
1 files changed, 18 insertions, 6 deletions
diff --git a/src/cc1111/ao_spi.c b/src/cc1111/ao_spi.c index 2b4fd186..39d459f1 100644 --- a/src/cc1111/ao_spi.c +++ b/src/cc1111/ao_spi.c @@ -171,16 +171,20 @@ ao_spi_send_bus(void __xdata *block, uint16_t len) __reentrant  #endif  	ao_dma_start(ao_spi_dma_out_id);  	ao_dma_trigger(ao_spi_dma_out_id); -#if AO_SPI_SLAVE -	__critical while (!ao_spi_dma_out_done) -			   ao_sleep(&ao_spi_dma_out_done); -#else +#if !AO_SPI_SLAVE  	__critical while (!ao_spi_dma_in_done)  		ao_sleep(&ao_spi_dma_in_done);  #endif  } - +#if AO_SPI_SLAVE +void +ao_spi_send_wait(void) +{ +	__critical while (!ao_spi_dma_out_done) +		ao_sleep(&ao_spi_dma_out_done); +} +#endif  /* Receive bytes over SPI.   * @@ -221,11 +225,19 @@ ao_spi_recv_bus(void __xdata *block, uint16_t len) __reentrant  #if !AO_SPI_SLAVE  	ao_dma_start(ao_spi_dma_out_id);  	ao_dma_trigger(ao_spi_dma_out_id); -#endif  	__critical while (!ao_spi_dma_in_done)  		ao_sleep(&ao_spi_dma_in_done); +#endif  } +#if AO_SPI_SLAVE +void +ao_spi_recv_wait(void) +{ +	__critical while (!ao_spi_dma_in_done) +		ao_sleep(&ao_spi_dma_in_done); +} +#endif  void  ao_spi_init(void)  | 
