diff options
Diffstat (limited to 'src/drivers/ao_cc1120.c')
| -rw-r--r-- | src/drivers/ao_cc1120.c | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/src/drivers/ao_cc1120.c b/src/drivers/ao_cc1120.c index 63d2f955..8068740f 100644 --- a/src/drivers/ao_cc1120.c +++ b/src/drivers/ao_cc1120.c @@ -834,8 +834,8 @@ ao_radio_rx_isr(void)  {  	uint8_t	d; -	d = stm_spi2.dr; -	stm_spi2.dr = 0; +	d = AO_CC1120_SPI.dr; +	AO_CC1120_SPI.dr = 0;  	if (rx_ignore == 0) {  		if (rx_data_cur >= rx_data_count)  			ao_exti_disable(AO_CC1120_INT_PORT, AO_CC1120_INT_PIN); @@ -862,6 +862,7 @@ ao_radio_rx_wait(void)  	do {  		if (ao_radio_mcu_wake)  			ao_radio_check_marc_status(); +		ao_alarm(AO_MS_TO_TICKS(100));  		ao_arch_block_interrupts();  		rx_waiting = 1;  		while (rx_data_cur - rx_data_consumed < AO_FEC_DECODE_BLOCK && @@ -873,6 +874,7 @@ ao_radio_rx_wait(void)  		}  		rx_waiting = 0;  		ao_arch_release_interrupts(); +		ao_clear_alarm();  	} while (ao_radio_mcu_wake);  	if (ao_radio_abort)  		return 0; @@ -922,10 +924,10 @@ ao_radio_recv(__xdata void *d, uint8_t size)  	ao_radio_wake = 0;  	ao_radio_mcu_wake = 0; -	stm_spi2.cr2 = 0; +	AO_CC1120_SPI.cr2 = 0;  	/* clear any RXNE */ -	(void) stm_spi2.dr; +	(void) AO_CC1120_SPI.dr;  	/* Have the radio signal when the preamble quality goes high */  	ao_radio_reg_write(AO_CC1120_INT_GPIO_IOCFG, CC1120_IOCFG_GPIO_CFG_PQT_REACHED); | 
