altos/telelco-v3.0: Merge info into one screen
[fw/altos] / src / kernel / ao_radio_cmac.c
index c7b48e06a338aa7b3c6d08aea9c3eb765f3cce96..b7aceef6792cc4646eb069917c1f348752c1ead0 100644 (file)
@@ -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 % AO_CMAC_KEY_LEN;
        if (rem != 0)
-               len += (AO_CMAC_KEY_LEN - rem);
+               len += (uint8_t) (AO_CMAC_KEY_LEN - rem);
        return len;
 }
 
        return len;
 }
 
@@ -76,8 +76,10 @@ radio_cmac_send(uint8_t len)
  * Receive and validate an incoming packet
  */
 
  * Receive and validate an incoming packet
  */
 
+int8_t ao_radio_cmac_last_rssi;
+
 static int8_t
 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;
 
 {
        uint8_t i;
 
@@ -92,6 +94,8 @@ radio_cmac_recv(uint8_t len, uint16_t timeout)
                return AO_RADIO_CMAC_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;
 
        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
 }
 
 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)
 {
        int8_t  i;
        if (len > AO_CMAC_MAX_LEN)