X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fdrivers%2Fao_radio_slave.c;h=9a0612e58f324e42e0f4da9f6c4629b7f851ab9e;hp=9a01bbfaa00cc5648ee1431466a19323b7e5f0a5;hb=b4eba3f3a58a9c35e3699ff14405b997c1318d91;hpb=b635cb26ba54c8f5c6a958e0ab0bc4d34d33b635 diff --git a/src/drivers/ao_radio_slave.c b/src/drivers/ao_radio_slave.c index 9a01bbfa..9a0612e5 100644 --- a/src/drivers/ao_radio_slave.c +++ b/src/drivers/ao_radio_slave.c @@ -32,7 +32,6 @@ ao_radio_slave_low(void) if (slave_state != 1) ao_panic(1); - ao_led_toggle(AO_LED_GREEN); ao_gpio_set(AO_RADIO_SLAVE_INT_PORT, AO_RADIO_SLAVE_INT_BIT, AO_RADIO_SLAVE_INT_PIN, 0); for (i = 0; i < 1000; i++) ao_arch_nop(); @@ -44,7 +43,6 @@ ao_radio_slave_high(void) { if (slave_state != 0) ao_panic(2); - ao_led_toggle(AO_LED_RED); ao_gpio_set(AO_RADIO_SLAVE_INT_PORT, AO_RADIO_SLAVE_INT_BIT, AO_RADIO_SLAVE_INT_PIN, 1); slave_state = 1; } @@ -65,8 +63,11 @@ ao_radio_slave_spi(void) /* XXX monitor CS to interrupt the receive */ ao_config.radio_setting = ao_radio_spi_request.setting; + ao_led_on(AO_LED_RX); ao_radio_spi_reply.status = ao_radio_recv(&ao_radio_spi_reply.payload, - ao_radio_spi_request.recv_len); + ao_radio_spi_request.recv_len, + ao_radio_spi_request.timeout); + ao_led_off(AO_LED_RX); ao_radio_spi_reply.rssi = 0; ao_spi_send(&ao_radio_spi_reply, AO_RADIO_SPI_REPLY_HEADER_LEN + ao_radio_spi_request.recv_len, @@ -76,9 +77,11 @@ ao_radio_slave_spi(void) continue; case AO_RADIO_SPI_CMAC_RECV: ao_config.radio_setting = ao_radio_spi_request.setting; + ao_led_on(AO_LED_RX); ao_radio_spi_reply.status = ao_radio_cmac_recv(&ao_radio_spi_reply.payload, ao_radio_spi_request.recv_len, ao_radio_spi_request.timeout); + ao_led_off(AO_LED_RX); ao_radio_spi_reply.rssi = ao_radio_cmac_rssi; ao_spi_send(&ao_radio_spi_reply, AO_RADIO_SPI_REPLY_HEADER_LEN + ao_radio_spi_request.recv_len, @@ -88,14 +91,18 @@ ao_radio_slave_spi(void) continue; case AO_RADIO_SPI_SEND: ao_config.radio_setting = ao_radio_spi_request.setting; + ao_led_on(AO_LED_TX); ao_radio_send(&ao_radio_spi_request.payload, ao_radio_spi_request.len - AO_RADIO_SPI_REQUEST_HEADER_LEN); + ao_led_off(AO_LED_TX); break; case AO_RADIO_SPI_CMAC_SEND: ao_config.radio_setting = ao_radio_spi_request.setting; + ao_led_on(AO_LED_TX); ao_radio_cmac_send(&ao_radio_spi_request.payload, ao_radio_spi_request.len - AO_RADIO_SPI_REQUEST_HEADER_LEN); + ao_led_off(AO_LED_TX); break; case AO_RADIO_SPI_CMAC_KEY: