cc110x-defines.h

Driver internal constants for CC110x chip configuration.

VARIABLE_PKTLEN

Variable packet length PKTCTRL0 bit configuration.

1
(0x01)

If variable packet length is configured in PKTCTRL0 the first byte after the synch word determines the packet length.

CC110X_RSSI_OFFSET

RSSI calculation offset.

1
(74)

The cc1101 has 74 as a RSSI offset. The CC1100E has a slightly larger offset of 75 to 79 (not implemented here). With those devices we thus get a slightly optimistic result.

CRC_OK

Bitmask (=10000000) for reading CRC_OK.

1
(0x80)

If CRC_OK == 1: CRC for received data OK (or CRC disabled). If CRC_OK == 0: CRC error in received data.

LQI_EST

Bitmask (=01111111) for reading LQI_EST.

1
(0x7F)

The Link Quality Indicator estimates how easily a received signal can be demodulated.

I_RSSI

Index 0 contains RSSI information (from optionally appended packet status bytes).

1
(0x00)
I_LQI

Index 1 contains LQI & CRC_OK information (from optionally appended packet status bytes).

1
(0x01)
MARC_STATE

Bitmask (=00011111) for reading MARC_STATE in MARCSTATE status register.

1
(0x1F)
PKTSTATUS_CS

Bitmask (=01000000) for reading CS (Carrier Sense) in PKTSTATUS status register.

1
(0x40)
PKTSTATUS_PQT_REACHED

Bitmask (=00100000) for reading PQT_REACHED (Preamble Quality reached) in PKTSTATUS status register.

1
(0x20)
PKTSTATUS_CCA

Bitmask (=00010000) for reading CCA (clear channel assessment) in PKTSTATUS status register.

1
(0x10)
PKTSTATUS_SFD

Bitmask (=00001000) for reading SFD (Sync word found) in PKTSTATUS status register.

1
(0x08)
PKTSTATUS_GDO2

Bitmask (=00000100) for reading GDO2 (current value on GDO2 pin) in PKTSTATUS status register.

1
(0x04)
PKTSTATUS_GDO1

Bitmask (=00000010) for reading GDO1 (current value on GDO1 pin) in PKTSTATUS status register.

1
(0x02)
PKTSTATUS_GDO0

Bitmask (=00000001) for reading GDO0 (current value on GDO0 pin) in PKTSTATUS status register.

1
(0x01)
TXFIFO_UNDERFLOW

Bitmask (=10000000) for reading TXFIFO_UNDERFLOW in TXBYTES status register.

1
(0x80)
BYTES_IN_TXFIFO

Bitmask (=01111111) for reading NUM_TXBYTES in TXBYTES status register.

1
(0x7F)
RXFIFO_OVERFLOW

Bitmask (=10000000) for reading RXFIFO_OVERFLOW in RXBYTES status register.

1
(0x80)
BYTES_IN_RXFIFO

Bitmask (=01111111) for reading NUM_RXBYTES in RXBYTES status register.

1
(0x7F)
PKT_LENGTH_CONFIG

Bitmask (=00000011) for reading LENGTH_CONFIG in PKTCTRL0 configuration register.

1
(0x03)
CC110X_WRITE_BURST

Offset for burst write.

1
(0x40)
CC110X_READ_SINGLE

Offset for read single byte.

1
(0x80)
CC110X_READ_BURST

Offset for read burst.

1
(0xC0)
CC110X_NOBYTE

No command (for reading).

1
(0xFF)
CC110X_IOCFG2

GDO2 output pin configuration.

1
(0x00)
CC110X_IOCFG1

GDO1 output pin configuration.

1
(0x01)
CC110X_IOCFG0

GDO0 output pin configuration.

1
(0x02)
CC110X_FIFOTHR

RX FIFO and TX FIFO thresholds.

1
(0x03)
CC110X_SYNC1

Sync word, high byte.

1
(0x04)
CC110X_SYNC0

Sync word, low byte.

1
(0x05)
CC110X_PKTLEN

Packet length.

1
(0x06)
CC110X_PKTCTRL1

Packet automation control.

1
(0x07)
CC110X_PKTCTRL0

Packet automation control.

1
(0x08)
CC110X_ADDR

Device address.

1
(0x09)
CC110X_CHANNR

Channel number.

1
(0x0A)
CC110X_FSCTRL1

Frequency synthesizer control.

1
(0x0B)
CC110X_FSCTRL0

Frequency synthesizer control.

1
(0x0C)
CC110X_FREQ2

Frequency control word, high byte.

1
(0x0D)
CC110X_FREQ1

Frequency control word, middle byte.

1
(0x0E)
CC110X_FREQ0

Frequency control word, low byte.

1
(0x0F)
CC110X_MDMCFG4

Modem configuration.

1
(0x10)
CC110X_MDMCFG3

Modem configuration.

1
(0x11)
CC110X_MDMCFG2

Modem configuration.

1
(0x12)
CC110X_MDMCFG1

Modem configuration.

1
(0x13)
CC110X_MDMCFG0

Modem configuration.

1
(0x14)
CC110X_DEVIATN

Modem deviation setting.

1
(0x15)
CC110X_MCSM2

Main Radio Control State Machine configuration.

1
(0x16)
CC110X_MCSM1

Main Radio Control State Machine configuration.

1
(0x17)
CC110X_MCSM0

Main Radio Control State Machine configuration.

1
(0x18)
CC110X_FOCCFG

Frequency Offset Compensation configuration.

1
(0x19)
CC110X_BSCFG

Bit Synchronization configuration.

1
(0x1A)
CC110X_AGCCTRL2

AGC control.

1
(0x1B)
CC110X_AGCCTRL1

AGC control.

1
(0x1C)
CC110X_AGCCTRL0

AGC control.

1
(0x1D)
CC110X_WOREVT1

High byte Event 0 timeout.

1
(0x1E)
CC110X_WOREVT0

Low byte Event 0 timeout.

1
(0x1F)
CC110X_WORCTRL

Wake On Radio control.

1
(0x20)
CC110X_FREND1

Front end RX configuration.

1
(0x21)
CC110X_FREND0

Front end TX configuration.

1
(0x22)
CC110X_FSCAL3

Frequency synthesizer calibration.

1
(0x23)
CC110X_FSCAL2

Frequency synthesizer calibration.

1
(0x24)
CC110X_FSCAL1

Frequency synthesizer calibration.

1
(0x25)
CC110X_FSCAL0

Frequency synthesizer calibration.

1
(0x26)
CC110X_RCCTRL1

RC oscillator configuration.

1
(0x27)
CC110X_RCCTRL0

RC oscillator configuration.

1
(0x28)
CC110X_FSTEST

Frequency synthesizer calibration control.

1
(0x29)
CC110X_PTEST

Production test.

1
(0x2A)
CC110X_AGCTEST

AGC test.

1
(0x2B)
CC110X_TEST2

Various test settings.

1
(0x2C)
CC110X_TEST1

Various test settings.

1
(0x2D)
CC110X_TEST0

Various test settings.

1
(0x2E)
CC110X_SRES

Reset chip.

1
(0x30)
CC110X_SFSTXON

Enable and calibrate frequency synthesizer (if MCSM0.FS_AUTOCAL=1).

1
(0x31)

If in RX/TX: Go to a wait state where only the synthesizer is running (for quick RX / TX turnaround).

CC110X_SXOFF

Turn off crystal oscillator.

1
(0x32)
CC110X_SCAL

Calibrate frequency synthesizer and turn it off (enables quick start).

1
(0x33)
CC110X_SRX

Enable RX.

1
(0x34)

Perform calibration first if coming from IDLE and MCSM0.FS_AUTOCAL=1.

CC110X_STX

In IDLE state: Enable TX.

1
(0x35)

Perform calibration first if MCSM0.FS_AUTOCAL=1. If in RX state and CCA is enabled: Only go to TX if channel is clear.

CC110X_SIDLE

Exit RX / TX, turn off frequency synthesizer and exit WOR mode if applicable.

1
(0x36)
CC110X_SAFC

Perform AFC adjustment of the frequency synthesizer.

1
(0x37)
CC110X_SWOR

Start automatic RX polling sequence (Wake-on-Radio)

1
(0x38)
CC110X_SPWD

Enter power down mode when CSn goes high.

1
(0x39)
CC110X_SFRX

Flush the RX FIFO buffer (CC110X should be in IDLE state).

1
(0x3A)
CC110X_SFTX

Flush the TX FIFO buffer (CC110X should be in IDLE state).

1
(0x3B)
CC110X_SWORRST

Reset real time clock.

1
(0x3C)
CC110X_SNOP

No operation.

1
(0x3D)

May be used to pad strobe commands to two bytes for simpler software.

CC110X_PARTNUM

Part number of CC110X.

1
(0x30)
CC110X_VERSION

Current version number.

1
(0x31)
CC110X_FREQEST

Frequency Offset Estimate.

1
(0x32)
CC110X_LQI

Demodulator estimate for Link Quality.

1
(0x33)
CC110X_RSSI

Received signal strength indication.

1
(0x34)
CC110X_MARCSTATE

Control state machine state.

1
(0x35)
CC110X_WORTIME1

High byte of WOR timer.

1
(0x36)
CC110X_WORTIME0

Low byte of WOR timer.

1
(0x37)
CC110X_PKTSTATUS

Current GDOx status and packet status.

1
(0x38)
CC110X_VCO_VC_DAC

Current setting from PLL calibration module.

1
(0x39)
CC110X_TXBYTES

Underflow and number of bytes in the TX FIFO.

1
(0x3A)
CC110X_RXBYTES

Overflow and number of bytes in the RX FIFO.

1
(0x3B)
CC110X_PATABLE

Register for eight user selected output power settings.

1
(0x3E)

3-bit FREND0.PA_POWER value selects the PATABLE entry to use.

CC110X_TXFIFO

TX FIFO: Write operations write to the TX FIFO (SB: +0x00; BURST: +0x40)

1
(0x3F)
CC110X_RXFIFO

RX FIFO: Read operations read from the RX FIFO (SB: +0x80; BURST: +0xC0)

1
(0x3F)
CC110X_GDO_HIGH_ON_RX_FIFO_ABOVE_THRESHOLD

GDO goes high when RX FIFO is filled at or above threshold.

1
(0x00)
CC110X_GDO_HIGH_ON_RX_FIFO_FILLED_OR_PKT_END

GDO goes high when RX FIFO is filled at or above threshold or when packet is fully received.

1
(0x01)
CC110X_GDO_LOW_ON_TX_FIFO_BELOW_THRESHOLD

GDO goes low when TX FIFO is filled less than threshold.

1
(0x02)
CC110X_GDO_LOW_ON_TX_FIFO_EMPTY

GDO goes low when TX FIFO becomes empty.

1
(0x03)
CC110X_GDO_HIGH_ON_RX_FIFO_OVERFLOW

GDO goes high when RX FIFO overflows.

1
(0x04)
CC110X_GDO_HIGH_ON_TX_FIFO_UNDERFLOW

GDO goes high when TX FIFO underflows.

1
(0x05)
CC110X_GDO_HIGH_ON_SYNC_WORD

GDO goes high when sync word was just received until the packet is fully received, or when sync word has been send until packet is fully send.

1
(0x06)
CC110X_GDO_HIGH_ON_PACKET_RECEIVED

GDO goes high when a packet is received and CRC is correct.

1
(0x07)

Goes back to low when first byte of RX fifo has been read