X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_radio_cmac.c;h=5f09344af8915dd273b4ab044ca95fdc5a1df49d;hb=HEAD;hp=c7b48e06a338aa7b3c6d08aea9c3eb765f3cce96;hpb=260dd06107c8f8f5c7e606a283d388cb3ba46465;p=fw%2Faltos diff --git a/src/kernel/ao_radio_cmac.c b/src/kernel/ao_radio_cmac.c index c7b48e06..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; @@ -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)