- }
-}
-
-static void
-ao_radio_slave_recv(void)
-{
- uint8_t len;
- for (;;) {
- while (!ao_radio_spi_recv_len)
- ao_sleep(&ao_radio_spi_recv_len);
- len = ao_radio_spi_recv_len;
- ao_radio_spi_recv_len = 0;
- if (ao_radio_spi_recv_request == AO_RADIO_SPI_RECV) {
- ao_radio_spi_reply.status = ao_radio_recv(&ao_radio_spi_reply.payload, len);
- ao_radio_spi_reply.rssi = 0;
- } else {
- ao_radio_spi_reply.status = ao_radio_cmac_recv(&ao_radio_spi_reply.payload, len,
- ao_radio_spi_recv_timeout);
- ao_radio_spi_reply.rssi = ao_radio_cmac_rssi;
- }
- ao_radio_slave_signal();