summaryrefslogtreecommitdiff
path: root/src/drivers/ao_cc1120.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-06-26 23:11:10 -0700
committerKeith Packard <keithp@keithp.com>2012-06-26 23:11:10 -0700
commitf1ae622eff60e05c1f5d8f822a3cf6a85750c6cc (patch)
tree9652e24ae8a4e56a47b463419356da356f7ade7f /src/drivers/ao_cc1120.h
parent936ecad62596f34773afb7460b10f63df7d0896d (diff)
altos: Optimize FEC encode and decode
Integrate interleaving, CRC and padding within the decode/encode functions. Provide for ISR priorities so that the 1120 RX interrupt takes precedence over the other interrupts or we risk losing bits. Optimize the viterbi decoder a bit (goes from 10ms per packet to 7ms per packet). Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/drivers/ao_cc1120.h')
-rw-r--r--src/drivers/ao_cc1120.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/drivers/ao_cc1120.h b/src/drivers/ao_cc1120.h
index 5822a21a..60b9621e 100644
--- a/src/drivers/ao_cc1120.h
+++ b/src/drivers/ao_cc1120.h
@@ -181,6 +181,11 @@
#define CC1120_PREAMBLE_CFG1_PREAMBLE_WORD_MASK 3
#define CC1120_PREAMBLE_CFG0 0x0e
+#define CC1120_PREAMBLE_CFG0_PQT_EN 5
+#define CC1120_PREAMBLE_CFG0_PQT_VALID_TIMEOUT 4
+#define CC1120_PREAMBLE_CFG0_PQT 0
+#define CC1120_PREAMBLE_CFG0_PQT_MASK 0xf
+
#define CC1120_FREQ_IF_CFG 0x0f
#define CC1120_IQIC 0x10
#define CC1120_CHAN_BW 0x11
@@ -215,6 +220,8 @@
#define CC1120_AGC_CFG1 0x1c
#define CC1120_AGC_CFG0 0x1d
#define CC1120_FIFO_CFG 0x1e
+#define CC1120_FIFO_CFG_CRC_AUTOFLUSH 7
+#define CC1120_FIFO_CFG_FIFO_THR 0
#define CC1120_DEV_ADDR 0x1f
#define CC1120_SETTLING_CFG 0x20
#define CC1120_SETTLING_CFG_FS_AUTOCAL 3
@@ -321,6 +328,8 @@
#define CC1120_DIRECT_FIFO 0x3e
#define CC1120_FIFO 0x3f
+#define CC1120_FIFO_SIZE 128
+
/* Extended register space */
#define CC1120_EXTENDED_BIT 0x8000