cc2420_registers.h

Register and command definitions for CC2420.

CC2420_OPT_AUTOACK

auto ACKs active

1
(0x0001)
CC2420_OPT_CSMA

CSMA active.

1
(0x0002)
CC2420_OPT_PROMISCUOUS

promiscuous mode active

1
(0x0004)
CC2420_OPT_PRELOADING

preloading enabled

1
(0x0008)
CC2420_OPT_TELL_TX_START

notify MAC layer on TX start

1
(0x0010)
CC2420_OPT_TELL_TX_END

notify MAC layer on TX finished

1
(0x0020)
CC2420_OPT_TELL_RX_START

notify MAC layer on RX start

1
(0x0040)
CC2420_OPT_TELL_RX_END

notify MAC layer on RX finished

1
(0x0080)
enum @94
CC2420_GOTO_PD
power down
CC2420_GOTO_IDLE
idle
CC2420_GOTO_RX
receive state
CC2420_GOTO_TXON
transmit packet without CCA
CC2420_GOTO_TXONCCA
transmit packet using CCA
enum @95
CC2420_STATE_PD = 0
power down
CC2420_STATE_IDLE = 1
idle state
CC2420_STATE_TX_PRE = 34
transmitting preamble
CC2420_STATE_RX_SEARCH = 6
receive SFD search
CC2420_STATE_RX_OVERFLOW = 17
receive buffer overflow
CC2420_REG_WRITE

read register value

1
(0x00)
CC2420_REG_READ

write register value

1
(0x40)
CC2420_RAM

access the internal RAM

1
(0x80)
CC2420_RAM_WRITE

write to RAM

1
(0x00)
CC2420_RAM_READ

read from RAM

1
(0x20)
CC2420_FIFO_READ
1
(CC2420_REG_RXFIFO | CC2420_REG_READ)
CC2420_FIFO_WRITE
1
(CC2420_REG_TXFIFO | CC2420_REG_WRITE)
CC2420_STROBE_NOP

no operation

1
(0x00)
CC2420_STROBE_XOSCON

turn transceiver on

1
(0x01)
CC2420_STROBE_TXCAL

calibrate TX freq and wait

1
(0x02)
CC2420_STROBE_RXON

switch to RX mode

1
(0x03)
CC2420_STROBE_TXON

switch to TX mode

1
(0x04)
CC2420_STROBE_TXONCCA

switch to TX after CCA

1
(0x05)
CC2420_STROBE_RFOFF

switch to IDLE mode

1
(0x06)
CC2420_STROBE_XOSCOFF

power down

1
(0x07)
CC2420_STROBE_FLUSHRX

flush RX FIFO

1
(0x08)
CC2420_STROBE_FLUSHTX

flush TX FIFO

1
(0x09)
CC2420_STROBE_ACK

send ACK with pending cleared

1
(0x0A)
CC2420_STROBE_ACKPEND

send ACK with pending set

1
(0x0B)
CC2420_STROBE_RXDEC

start RX FIFO decrypt/verify

1
(0x0C)
CC2420_STROBE_TXENC

start TX FIFO encrypt/auth

1
(0x0D)
CC2420_STROBE_AES

start AES encryption

1
(0x0E)
CC2420_REG_MAIN

main control

1
(0x10)
CC2420_REG_MDMCTRL0

modem control 0

1
(0x11)
CC2420_REG_MDMCTRL1

modem control 1

1
(0x12)
CC2420_REG_RSSI

RSSI and CCA control.

1
(0x13)
CC2420_REG_SYNCWORD

synchronization word control

1
(0x14)
CC2420_REG_TXCTRL

transmit control

1
(0x15)
CC2420_REG_RXCTRL0

receive control 0

1
(0x16)
CC2420_REG_RXCTRL1

receive control 1

1
(0x17)
CC2420_REG_FSCTRL

freq synthesizer control

1
(0x18)
CC2420_REG_SECCTRL0

security control 0

1
(0x19)
CC2420_REG_SECCTRL1

security control 1

1
(0x1A)
CC2420_REG_BATTMON

battery monitor control

1
(0x1B)
CC2420_REG_IOCFG0

I/O control 0.

1
(0x1C)
CC2420_REG_IOCFG1

I/O control 1.

1
(0x1D)
CC2420_REG_MANFIDL

manufacturer ID low

1
(0x1e)
CC2420_REG_MANFIDH

manufacturer ID high

1
(0x1F)
CC2420_REG_FSMTC

FSM timer constants.

1
(0x20)
CC2420_REG_MANAND

manual signal AND override

1
(0x21)
CC2420_REG_MANOR

manual signal OR override

1
(0x22)
CC2420_REG_AGCCTRL

AGC control.

1
(0x23)
CC2420_REG_AGCTST0

AGC test 0.

1
(0x24)
CC2420_REG_AGCTST1

AGC test 1.

1
(0x25)
CC2420_REG_AGCTST2

AGC test 2.

1
(0x26)
CC2420_REG_FSTST0

freq synthesizer test 0

1
(0x27)
CC2420_REG_FSTST1

freq synthesizer test 1

1
(0x28)
CC2420_REG_FSTST2

freq synthesizer test 2

1
(0x29)
CC2420_REG_FSTST3

freq synthesizer test 3

1
(0x2A)
CC2420_REG_RXBPFTST

RX bandpass filter test.

1
(0x2B)
CC2420_REG_FSMSTATE

FSM status.

1
(0x2C)
CC2420_REG_ADCTST

ADC test.

1
(0x2D)
CC2420_REG_DACTST

DAC test.

1
(0x2E)
CC2420_REG_TOPTST

top level test

1
(0x2F)
CC2420_REG_TXFIFO

TX FIFO byte.

1
(0x3E)
CC2420_REG_RXFIFO

RX FIFO byte.

1
(0x3F)
CC2420_RAM_TXFIFO
1
(0x0000)
CC2420_RAM_RXFIFO
1
(0x0080)
CC2420_RAM_KEY0
1
(0x0100)
CC2420_RAM_RXNONCE
1
(0x0110)
CC2420_RAM_RXCTR
1
(0x0110)
CC2420_RAM_SABUF
1
(0x0120)
CC2420_RAM_KEY1
1
(0x0130)
CC2420_RAM_TXNONCE
1
(0x0140)
CC2420_RAM_TXCTR
1
(0x0140)
CC2420_RAM_CBCSTATE
1
(0x0150)
CC2420_RAM_IEEEADR
1
(0x0160)
CC2420_RAM_PANID
1
(0x0168)
CC2420_RAM_SHORTADR
1
(0x016A)
CC2420_STATUS_XOSC_STABLE
1
(0x40)
CC2420_STATUS_TX_UNDERFLOW
1
(0x20)
CC2420_STATUS_ENC_BUSY
1
(0x10)
CC2420_STATUS_TX_ACTIVE
1
(0x08)
CC2420_STATUS_PLL_LOCK
1
(0x04)
CC2420_STATUS_RSSI_VALID
1
(0x02)
CC2420_MDMCTRL0_RES_FRM
1
(0x2000
CC2420_MDMCTRL0_ADR_DECODE
1
(0x0800)
CC2420_MDMCTRL0_PAN_COORD
1
(0x1000)
CC2420_MDMCTRL0_AUTOCRC
1
(0x0020)
CC2420_MDMCTRL0_AUTOACK
1
(0x0010)
CC2420_MDMCTRL0_PREAMBLE_M
1
(0x000f)
CC2420_MDMCTRL0_PREAMBLE_3B
1
(0x0002)
CC2420_CRCCOR_CRC_MASK

CRC/Correlation bit masks.

1
(0x80)
CC2420_CRCCOR_COR_MASK
1
(0x7F)
CC2420_TXCTRL_PA_MASK
1
(0x001f)
CC2420_RXCTRL1_RXBPF_LOCUR
1
(0x2000)
CC2420_FSCTRL_LOCK_THR_MASK
1
(0xc000)
CC2420_FSCTRL_CAL_DONE
1
(0x2000)
CC2420_FSCTRL_CAL_RUNNING
1
(0x1000)
CC2420_FSCTRL_LOCK_LENGTH
1
(0x0800)
CC2420_FSCTRL_LOCK_STATUS
1
(0x0400)
CC2420_FSCTRL_FREQ_MASK
1
(0x03ff)
CC2420_SECCTRL0_RXFIFO_PROT
1
(0x0200)
CC2420_MANFIDL_VAL
1
(0x233d)
CC2420_MANFIDH_VAL
1
(0x3000)