From bc39f2a86c591a82b0b2c93c6e19977e105b73f9 Mon Sep 17 00:00:00 2001 From: joxe Date: Wed, 29 Oct 2008 09:22:39 +0000 Subject: [PATCH] added get_rssi_packet for getting RSSI from the last packet received --- platform/msb430/dev/cc1020.c | 14 ++++++++++++-- platform/msb430/dev/cc1020.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/platform/msb430/dev/cc1020.c b/platform/msb430/dev/cc1020.c index 675e0a7a5..00889652a 100644 --- a/platform/msb430/dev/cc1020.c +++ b/platform/msb430/dev/cc1020.c @@ -347,10 +347,17 @@ cc1020_off(void) uint8_t cc1020_get_rssi(void) { - rssi = cc1020_read_reg(CC1020_RSS); + return cc1020_read_reg(CC1020_RSS); +} + +uint8_t +cc1020_get_packet_rssi(void) +{ return rssi; } + + int cc1020_carrier_sense(void) { @@ -423,7 +430,10 @@ interrupt(UART0RX_VECTOR) cc1020_rxhandler(void) } else { return; } - // Update RSSI. + /* Update RSSI. + TODO: add sampling/averaging of several RSSI to get + more reliable RSSI values + */ rssi = cc1020_read_reg(CC1020_RSS); CC1020_SET_OPSTATE(CC1020_RX | CC1020_RX_RECEIVING); } else if (cc1020_state & CC1020_RX_RECEIVING) { diff --git a/platform/msb430/dev/cc1020.h b/platform/msb430/dev/cc1020.h index 2972e65cf..b7b811f68 100644 --- a/platform/msb430/dev/cc1020.h +++ b/platform/msb430/dev/cc1020.h @@ -60,6 +60,7 @@ void cc1020_set_tx(void); void cc1020_set_power(uint8_t pa_power); int cc1020_carrier_sense(void); uint8_t cc1020_get_rssi(void); +uint8_t cc1020_get_packet_rssi(void); int cc1020_sending(void); int cc1020_send(const void *buf, unsigned short size);