X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_radio_cmac.c;h=c7b48e06a338aa7b3c6d08aea9c3eb765f3cce96;hb=HEAD;hp=155fce350b69f77c464d5fefe747ede3c6478b14;hpb=c6e57291d91f1f6c4de5c54a5cfd3eef66d9f830;p=fw%2Faltos diff --git a/src/kernel/ao_radio_cmac.c b/src/kernel/ao_radio_cmac.c index 155fce35..b7aceef6 100644 --- a/src/kernel/ao_radio_cmac.c +++ b/src/kernel/ao_radio_cmac.c @@ -37,7 +37,7 @@ round_len(uint8_t len) 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; } @@ -76,8 +76,10 @@ radio_cmac_send(uint8_t 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; @@ -92,6 +94,8 @@ radio_cmac_recv(uint8_t len, uint16_t timeout) 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; @@ -132,7 +136,7 @@ ao_radio_cmac_send(void *packet, uint8_t len) 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 @@ -145,7 +149,7 @@ ao_radio_cmac_send(void *packet, uint8_t len) } 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) @@ -159,7 +163,7 @@ ao_radio_cmac_recv(void *packet, uint8_t len, uint16_t timeout) 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; }