summaryrefslogtreecommitdiff
path: root/src/core/ao.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-07-11 13:50:56 -0700
committerKeith Packard <keithp@keithp.com>2012-07-11 13:50:56 -0700
commitfe70611c3c7d4b8cce3b5292f0ec549f3191bf86 (patch)
tree34c7b7c73fc3a2528757fece149e7a5d26edc4d6 /src/core/ao.h
parent18431c88c8a6cb267922b97192e8b7ddb88d0e7e (diff)
altos: Create macros to convert from/to radio RSSI representation
AO_RSSI_FROM_RADIO and AO_RADIO_FROM_RSSI. Removes a bunch of open-coded versions of the same function. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/core/ao.h')
-rw-r--r--src/core/ao.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/ao.h b/src/core/ao.h
index 06daf48f..eb2d47cf 100644
--- a/src/core/ao.h
+++ b/src/core/ao.h
@@ -487,6 +487,12 @@ struct ao_telemetry_tiny_recv {
uint8_t status;
};
+/* Unfortunately, we've exposed the CC1111 rssi units as the 'usual' method
+ * for reporting RSSI. So, now we use these values everywhere
+ */
+#define AO_RSSI_FROM_RADIO(radio) ((int16_t) ((int8_t) (radio) >> 1) - 74)
+#define AO_RADIO_FROM_RSSI(rssi) (((int8_t) (rssi) + 74) << 1)
+
/*
* ao_radio_recv tacks on rssi and status bytes
*/