cc110x-defines.h File Reference

Driver internal constants for CC110x chip configuration. More...

Detailed Description

Go to the source code of this file.

Macros

#define VARIABLE_PKTLEN   (0x01)
 Variable packet length PKTCTRL0 bit configuration. More...
 
Bitmasks for reading out status register values
#define CRC_OK   (0x80)
 Bitmask (=10000000) for reading CRC_OK. More...
 
#define LQI_EST   (0x7F)
 Bitmask (=01111111) for reading LQI_EST. More...
 
#define I_RSSI   (0x00)
 Index 0 contains RSSI information (from optionally appended packet status bytes). More...
 
#define I_LQI   (0x01)
 Index 1 contains LQI & CRC_OK information (from optionally appended packet status bytes). More...
 
#define MARC_STATE   (0x1F)
 Bitmask (=00011111) for reading MARC_STATE in MARCSTATE status register. More...
 
#define PKTSTATUS_CS   (0x40)
 Bitmask (=01000000) for reading CS (Carrier Sense) in PKTSTATUS status register. More...
 
#define PKTSTATUS_PQT_REACHED   (0x20)
 Bitmask (=00100000) for reading PQT_REACHED (Preamble Quality reached) in PKTSTATUS status register. More...
 
#define PKTSTATUS_CCA   (0x10)
 Bitmask (=00010000) for reading CCA (clear channel assessment) in PKTSTATUS status register. More...
 
#define PKTSTATUS_SFD   (0x08)
 Bitmask (=00001000) for reading SFD (Sync word found) in PKTSTATUS status register. More...
 
#define PKTSTATUS_GDO2   (0x04)
 Bitmask (=00000100) for reading GDO2 (current value on GDO2 pin) in PKTSTATUS status register. More...
 
#define PKTSTATUS_GDO1   (0x02)
 Bitmask (=00000010) for reading GDO1 (current value on GDO1 pin) in PKTSTATUS status register. More...
 
#define PKTSTATUS_GDO0   (0x01)
 Bitmask (=00000001) for reading GDO0 (current value on GDO0 pin) in PKTSTATUS status register. More...
 
#define TXFIFO_UNDERFLOW   (0x80)
 Bitmask (=10000000) for reading TXFIFO_UNDERFLOW in TXBYTES status register. More...
 
#define BYTES_IN_TXFIFO   (0x7F)
 Bitmask (=01111111) for reading NUM_TXBYTES in TXBYTES status register. More...
 
#define RXFIFO_OVERFLOW   (0x80)
 Bitmask (=10000000) for reading RXFIFO_OVERFLOW in RXBYTES status register. More...
 
#define BYTES_IN_RXFIFO   (0x7F)
 Bitmask (=01111111) for reading NUM_RXBYTES in RXBYTES status register. More...
 
Bitmasks for reading out configuration register values
#define PKT_LENGTH_CONFIG   (0x03)
 Bitmask (=00000011) for reading LENGTH_CONFIG in PKTCTRL0 configuration register. More...
 
Definitions to support burst/single access
#define CC110X_WRITE_BURST   (0x40)
 Offset for burst write. More...
 
#define CC110X_READ_SINGLE   (0x80)
 Offset for read single byte. More...
 
#define CC110X_READ_BURST   (0xC0)
 Offset for read burst. More...
 
#define CC110X_NOBYTE   (0xFF)
 No command (for reading). More...
 
Configuration Registers (47x)
#define CC110X_IOCFG2   (0x00)
 GDO2 output pin configuration.
 
#define CC110X_IOCFG1   (0x01)
 GDO1 output pin configuration.
 
#define CC110X_IOCFG0   (0x02)
 GDO0 output pin configuration.
 
#define CC110X_FIFOTHR   (0x03)
 RX FIFO and TX FIFO thresholds.
 
#define CC110X_SYNC1   (0x04)
 Sync word, high byte.
 
#define CC110X_SYNC0   (0x05)
 Sync word, low byte.
 
#define CC110X_PKTLEN   (0x06)
 Packet length.
 
#define CC110X_PKTCTRL1   (0x07)
 Packet automation control.
 
#define CC110X_PKTCTRL0   (0x08)
 Packet automation control.
 
#define CC110X_ADDR   (0x09)
 Device address.
 
#define CC110X_CHANNR   (0x0A)
 Channel number.
 
#define CC110X_FSCTRL1   (0x0B)
 Frequency synthesizer control.
 
#define CC110X_FSCTRL0   (0x0C)
 Frequency synthesizer control.
 
#define CC110X_FREQ2   (0x0D)
 Frequency control word, high byte.
 
#define CC110X_FREQ1   (0x0E)
 Frequency control word, middle byte.
 
#define CC110X_FREQ0   (0x0F)
 Frequency control word, low byte.
 
#define CC110X_MDMCFG4   (0x10)
 Modem configuration.
 
#define CC110X_MDMCFG3   (0x11)
 Modem configuration.
 
#define CC110X_MDMCFG2   (0x12)
 Modem configuration.
 
#define CC110X_MDMCFG1   (0x13)
 Modem configuration.
 
#define CC110X_MDMCFG0   (0x14)
 Modem configuration.
 
#define CC110X_DEVIATN   (0x15)
 Modem deviation setting.
 
#define CC110X_MCSM2   (0x16)
 Main Radio Control State Machine configuration.
 
#define CC110X_MCSM1   (0x17)
 Main Radio Control State Machine configuration.
 
#define CC110X_MCSM0   (0x18)
 Main Radio Control State Machine configuration.
 
#define CC110X_FOCCFG   (0x19)
 Frequency Offset Compensation configuration.
 
#define CC110X_BSCFG   (0x1A)
 Bit Synchronization configuration.
 
#define CC110X_AGCCTRL2   (0x1B)
 AGC control.
 
#define CC110X_AGCCTRL1   (0x1C)
 AGC control.
 
#define CC110X_AGCCTRL0   (0x1D)
 AGC control.
 
#define CC110X_WOREVT1   (0x1E)
 High byte Event 0 timeout.
 
#define CC110X_WOREVT0   (0x1F)
 Low byte Event 0 timeout.
 
#define CC110X_WORCTRL   (0x20)
 Wake On Radio control.
 
#define CC110X_FREND1   (0x21)
 Front end RX configuration.
 
#define CC110X_FREND0   (0x22)
 Front end TX configuration.
 
#define CC110X_FSCAL3   (0x23)
 Frequency synthesizer calibration.
 
#define CC110X_FSCAL2   (0x24)
 Frequency synthesizer calibration.
 
#define CC110X_FSCAL1   (0x25)
 Frequency synthesizer calibration.
 
#define CC110X_FSCAL0   (0x26)
 Frequency synthesizer calibration.
 
#define CC110X_RCCTRL1   (0x27)
 RC oscillator configuration.
 
#define CC110X_RCCTRL0   (0x28)
 RC oscillator configuration.
 
#define CC110X_FSTEST   (0x29)
 Frequency synthesizer calibration control.
 
#define CC110X_PTEST   (0x2A)
 Production test.
 
#define CC110X_AGCTEST   (0x2B)
 AGC test.
 
#define CC110X_TEST2   (0x2C)
 Various test settings.
 
#define CC110X_TEST1   (0x2D)
 Various test settings.
 
#define CC110X_TEST0   (0x2E)
 Various test settings.
 
Strobe commands (14x)
#define CC110X_SRES   (0x30)
 Reset chip. More...
 
#define CC110X_SFSTXON   (0x31)
 Enable and calibrate frequency synthesizer (if MCSM0.FS_AUTOCAL=1). More...
 
#define CC110X_SXOFF   (0x32)
 Turn off crystal oscillator. More...
 
#define CC110X_SCAL   (0x33)
 Calibrate frequency synthesizer and turn it off (enables quick start). More...
 
#define CC110X_SRX   (0x34)
 Enable RX. More...
 
#define CC110X_STX   (0x35)
 In IDLE state: Enable TX. More...
 
#define CC110X_SIDLE   (0x36)
 Exit RX / TX, turn off frequency synthesizer and exit WOR mode if applicable. More...
 
#define CC110X_SAFC   (0x37)
 Perform AFC adjustment of the frequency synthesizer.
 
#define CC110X_SWOR   (0x38)
 Start automatic RX polling sequence (Wake-on-Radio)
 
#define CC110X_SPWD   (0x39)
 Enter power down mode when CSn goes high. More...
 
#define CC110X_SFRX   (0x3A)
 Flush the RX FIFO buffer (CC110X should be in IDLE state). More...
 
#define CC110X_SFTX   (0x3B)
 Flush the TX FIFO buffer (CC110X should be in IDLE state). More...
 
#define CC110X_SWORRST   (0x3C)
 Reset real time clock. More...
 
#define CC110X_SNOP   (0x3D)
 No operation. More...
 
Status registers (12x)
#define CC110X_PARTNUM   (0x30)
 Part number of CC110X. More...
 
#define CC110X_VERSION   (0x31)
 Current version number. More...
 
#define CC110X_FREQEST   (0x32)
 Frequency Offset Estimate. More...
 
#define CC110X_LQI   (0x33)
 Demodulator estimate for Link Quality. More...
 
#define CC110X_RSSI   (0x34)
 Received signal strength indication. More...
 
#define CC110X_MARCSTATE   (0x35)
 Control state machine state. More...
 
#define CC110X_WORTIME1   (0x36)
 High byte of WOR timer. More...
 
#define CC110X_WORTIME0   (0x37)
 Low byte of WOR timer. More...
 
#define CC110X_PKTSTATUS   (0x38)
 Current GDOx status and packet status. More...
 
#define CC110X_VCO_VC_DAC   (0x39)
 Current setting from PLL calibration module. More...
 
#define CC110X_TXBYTES   (0x3A)
 Underflow and number of bytes in the TX FIFO. More...
 
#define CC110X_RXBYTES   (0x3B)
 Overflow and number of bytes in the RX FIFO. More...
 
Multi byte registers
#define CC110X_PATABLE   (0x3E)
 Register for eight user selected output power settings. More...
 
#define CC110X_TXFIFO   (0x3F)
 TX FIFO: Write operations write to the TX FIFO (SB: +0x00; BURST: +0x40)
 
#define CC110X_RXFIFO   (0x3F)
 RX FIFO: Read operations read from the RX FIFO (SB: +0x80; BURST: +0xC0)
 

Macro Definition Documentation

◆ BYTES_IN_RXFIFO

#define BYTES_IN_RXFIFO   (0x7F)

Definition at line 68 of file cc110x-defines.h.

◆ BYTES_IN_TXFIFO

#define BYTES_IN_TXFIFO   (0x7F)

Definition at line 66 of file cc110x-defines.h.

◆ CC110X_FREQEST

#define CC110X_FREQEST   (0x32)

Definition at line 176 of file cc110x-defines.h.

◆ CC110X_LQI

#define CC110X_LQI   (0x33)

Definition at line 177 of file cc110x-defines.h.

◆ CC110X_MARCSTATE

#define CC110X_MARCSTATE   (0x35)

Definition at line 179 of file cc110x-defines.h.

◆ CC110X_NOBYTE

#define CC110X_NOBYTE   (0xFF)

Definition at line 85 of file cc110x-defines.h.

◆ CC110X_PARTNUM

#define CC110X_PARTNUM   (0x30)

Definition at line 174 of file cc110x-defines.h.

◆ CC110X_PATABLE

#define CC110X_PATABLE   (0x3E)

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

Definition at line 197 of file cc110x-defines.h.

◆ CC110X_PKTSTATUS

#define CC110X_PKTSTATUS   (0x38)

Definition at line 182 of file cc110x-defines.h.

◆ CC110X_READ_BURST

#define CC110X_READ_BURST   (0xC0)

Definition at line 84 of file cc110x-defines.h.

◆ CC110X_READ_SINGLE

#define CC110X_READ_SINGLE   (0x80)

Definition at line 83 of file cc110x-defines.h.

◆ CC110X_RSSI

#define CC110X_RSSI   (0x34)

Definition at line 178 of file cc110x-defines.h.

◆ CC110X_RXBYTES

#define CC110X_RXBYTES   (0x3B)

Definition at line 185 of file cc110x-defines.h.

◆ CC110X_SCAL

#define CC110X_SCAL   (0x33)

Definition at line 153 of file cc110x-defines.h.

◆ CC110X_SFRX

#define CC110X_SFRX   (0x3A)

Definition at line 164 of file cc110x-defines.h.

◆ CC110X_SFSTXON

#define CC110X_SFSTXON   (0x31)

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

Definition at line 151 of file cc110x-defines.h.

◆ CC110X_SFTX

#define CC110X_SFTX   (0x3B)

Definition at line 165 of file cc110x-defines.h.

◆ CC110X_SIDLE

#define CC110X_SIDLE   (0x36)

Definition at line 160 of file cc110x-defines.h.

◆ CC110X_SNOP

#define CC110X_SNOP   (0x3D)

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

Definition at line 167 of file cc110x-defines.h.

◆ CC110X_SPWD

#define CC110X_SPWD   (0x39)

Definition at line 163 of file cc110x-defines.h.

◆ CC110X_SRES

#define CC110X_SRES   (0x30)

Definition at line 145 of file cc110x-defines.h.

◆ CC110X_SRX

#define CC110X_SRX   (0x34)

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

Definition at line 154 of file cc110x-defines.h.

◆ CC110X_STX

#define CC110X_STX   (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.

Definition at line 159 of file cc110x-defines.h.

◆ CC110X_SWORRST

#define CC110X_SWORRST   (0x3C)

Definition at line 166 of file cc110x-defines.h.

◆ CC110X_SXOFF

#define CC110X_SXOFF   (0x32)

Definition at line 152 of file cc110x-defines.h.

◆ CC110X_TXBYTES

#define CC110X_TXBYTES   (0x3A)

Definition at line 184 of file cc110x-defines.h.

◆ CC110X_VCO_VC_DAC

#define CC110X_VCO_VC_DAC   (0x39)

Definition at line 183 of file cc110x-defines.h.

◆ CC110X_VERSION

#define CC110X_VERSION   (0x31)

Definition at line 175 of file cc110x-defines.h.

◆ CC110X_WORTIME0

#define CC110X_WORTIME0   (0x37)

Definition at line 181 of file cc110x-defines.h.

◆ CC110X_WORTIME1

#define CC110X_WORTIME1   (0x36)

Definition at line 180 of file cc110x-defines.h.

◆ CC110X_WRITE_BURST

#define CC110X_WRITE_BURST   (0x40)

Definition at line 82 of file cc110x-defines.h.

◆ CRC_OK

#define CRC_OK   (0x80)

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

Definition at line 48 of file cc110x-defines.h.

◆ I_LQI

#define I_LQI   (0x01)

Definition at line 56 of file cc110x-defines.h.

◆ I_RSSI

#define I_RSSI   (0x00)

Definition at line 55 of file cc110x-defines.h.

◆ LQI_EST

#define LQI_EST   (0x7F)

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

Definition at line 54 of file cc110x-defines.h.

◆ MARC_STATE

#define MARC_STATE   (0x1F)

Definition at line 57 of file cc110x-defines.h.

◆ PKT_LENGTH_CONFIG

#define PKT_LENGTH_CONFIG   (0x03)

Definition at line 75 of file cc110x-defines.h.

◆ PKTSTATUS_CCA

#define PKTSTATUS_CCA   (0x10)

Definition at line 60 of file cc110x-defines.h.

◆ PKTSTATUS_CS

#define PKTSTATUS_CS   (0x40)

Definition at line 58 of file cc110x-defines.h.

◆ PKTSTATUS_GDO0

#define PKTSTATUS_GDO0   (0x01)

Definition at line 64 of file cc110x-defines.h.

◆ PKTSTATUS_GDO1

#define PKTSTATUS_GDO1   (0x02)

Definition at line 63 of file cc110x-defines.h.

◆ PKTSTATUS_GDO2

#define PKTSTATUS_GDO2   (0x04)

Definition at line 62 of file cc110x-defines.h.

◆ PKTSTATUS_PQT_REACHED

#define PKTSTATUS_PQT_REACHED   (0x20)

Definition at line 59 of file cc110x-defines.h.

◆ PKTSTATUS_SFD

#define PKTSTATUS_SFD   (0x08)

Definition at line 61 of file cc110x-defines.h.

◆ RXFIFO_OVERFLOW

#define RXFIFO_OVERFLOW   (0x80)

Definition at line 67 of file cc110x-defines.h.

◆ TXFIFO_UNDERFLOW

#define TXFIFO_UNDERFLOW   (0x80)

Definition at line 65 of file cc110x-defines.h.

◆ VARIABLE_PKTLEN

#define VARIABLE_PKTLEN   (0x01)

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

Definition at line 35 of file cc110x-defines.h.