len = AO_CMAC_KEY_LEN;
rem = len % AO_CMAC_KEY_LEN;
if (rem != 0)
- len += (AO_CMAC_KEY_LEN - rem);
+ len += (uint8_t) (AO_CMAC_KEY_LEN - rem);
return len;
}
* Receive and validate an incoming packet
*/
+int8_t ao_radio_cmac_last_rssi;
+
static int8_t
-radio_cmac_recv(uint8_t len, uint16_t timeout)
+radio_cmac_recv(uint8_t len, AO_TICK_TYPE timeout)
{
uint8_t i;
return AO_RADIO_CMAC_TIMEOUT;
}
+ ao_radio_cmac_last_rssi = ao_radio_rssi;
+
if (!(cmac_data[len + AO_CMAC_KEY_LEN +1] & AO_RADIO_STATUS_CRC_OK))
return AO_RADIO_CMAC_CRC_ERROR;
if (len > AO_CMAC_MAX_LEN)
return AO_RADIO_CMAC_LEN_ERROR;
ao_mutex_get(&ao_radio_cmac_mutex);
- ao_xmemcpy(cmac_data, packet, len);
+ memcpy(cmac_data, packet, len);
#if AO_LED_TX
ao_led_on(AO_LED_TX);
#endif
}
int8_t
-ao_radio_cmac_recv(void *packet, uint8_t len, uint16_t timeout)
+ao_radio_cmac_recv(void *packet, uint8_t len, AO_TICK_TYPE timeout)
{
int8_t i;
if (len > AO_CMAC_MAX_LEN)
ao_led_off(AO_LED_RX);
#endif
if (i == AO_RADIO_CMAC_OK)
- ao_xmemcpy(packet, cmac_data, len);
+ memcpy(packet, cmac_data, len);
ao_mutex_put(&ao_radio_cmac_mutex);
return i;
}