Go to the documentation of this file.
216 #define CC110X_MAX_FRAME_SIZE 0xFF
221 #define CC110X_MAX_PAYLOAD_SIZE (CC110X_MAX_FRAME_SIZE - CC1XXX_HEADER_SIZE)
226 #define CC110X_MAX_CHANNELS 8
232 #define CC110X_L2ADDR_AUTO 0x00
237 #ifdef MODULE_GNRC_SIXLOWPAN
238 #define CC110X_DEFAULT_PROTOCOL (GNRC_NETTYPE_SIXLOWPAN)
240 #define CC110X_DEFAULT_PROTOCOL (GNRC_NETTYPE_UNDEF)
251 #ifndef CONFIG_CC110X_DEFAULT_CHANNEL
252 #define CONFIG_CC110X_DEFAULT_CHANNEL (0U)
358 uint8_t base_freq[3];
501 typedef struct __attribute__((packed)) {
cc110x_tx_power_t tx_power
TX power of the receiver.
cc110x_tx_power_t
Enumeration over the possible TX power settings the driver offers.
uint8_t mdmcfg3
MDMCFG3 configuration register value that affects the data rate.
@ CC110X_STATE_CALIBRATE
Device is calibrating.
#define CC110X_MAX_FRAME_SIZE
Length of a layer 2 frame.
uint8_t l2addr
Layer-2 address to use or CC110X_L2ADDR_AUTO to derive it from the CPU ID.
char fscal2
VCO current calibration, independent of channel.
const cc110x_chanmap_t * channels
Pointer to the default channel map.
Structure holding the calibration data of the frequency synthesizer.
@ CC110X_TX_POWER_PLUS_10_DBM
10 dBm
@ CC110X_TX_POWER_PLUS_5_DBM
5 dBm
Low-level SPI peripheral driver interface definition.
netdev_t netdev
RIOT's interface to this driver.
mutex_t isr_signal
Use mutex to block during TX and unblock from ISR when ISR needs to be handled from thread-context.
@ CC110X_STATE_FRAME_READY
Frame received, waiting for upper layer to retrieve it.
@ CC110X_TX_POWER_NUMOF
Number of TX power options.
uint8_t len
Length of the frame in bytes.
const cc110x_config_t * config
Pointer to the configuration of the base frequency, data rate and channel bandwidth; or NULL to keep ...
Low-level ADC peripheral driver interface definitions.
@ CC110X_STATE_RECEIVING
Receiving a frame just now.
@ CC110X_STATE_OFF
Frame received, waiting for upper layer to retrieve it.
Structure holding all parameter for driver initialization.
cc110x_fs_calibration_t fscal
Frequency synthesizer calibration data.
cc110x_framebuf_t buf
Temporary frame buffer.
Configuration of the transceiver to use.
int cc110x_set_channel(cc110x_t *dev, uint8_t channel)
Hops to the specified channel.
spi_clk_t spi_clk
SPI clock to use (max 6.5 MHz)
@ CC110X_STATE_TXFIFO_UNDERFLOW
TX FIFO underflown.
@ CC110X_STATE_TX_MODE
Transmit mode.
CC110x/CC1200 adaption for Network interface API.
gpio_t spi_cs_t
Chip select pin type overlaps with gpio_t so it can be casted to this.
#define CC110X_MAX_CHANNELS
Maximum number of channels supported by the driver.
uint8_t channel
Currently tuned (virtual) channel.
cc110x_state_t state
State of the transceiver.
int cc110x_set_tx_power(cc110x_t *dev, cc110x_tx_power_t power)
Set the TX power to the specified value.
Buffer to temporary store incoming/outgoing packet.
@ CC110X_STATE_IDLE
IDLE state.
@ CC110X_STATE_FSTXON
Fast TX ready.
@ CC110X_TX_POWER_PLUS_7_DBM
7 dBm
spi_clk_t
Available SPI clock speeds.
uint8_t pos
Index of the next cc110x_framebuf_t::data element to transfer.
@ CC110X_STATE_RX_MODE
Listening for frames.
Definitions low-level network driver interface.
uint8_t fsctrl1
FSCTRL1 configuration register value that affects the intermediate frequency of the transceiver to us...
@ CC110X_TX_POWER_MINUS_10_DBM
-10 dBm
cc1xxx_rx_info_t rx_info
RSSI and LQI of the last received frame.
Protocol type definitions.
int cc110x_apply_config(cc110x_t *dev, const cc110x_config_t *conf, const cc110x_chanmap_t *chanmap, uint8_t channel)
Apply the given configuration and the given channel map and performs a recalibration.
cc110x_params_t params
Configuration of the driver.
@ CC110X_TX_POWER_MINUS_30_DBM
-30 dBm
const cc110x_chanmap_t * channels
Pointer to the channel map to use.
uint8_t rssi_offset
dBm to subtract from raw RSSI data
@ CC110X_TX_POWER_0_DBM
0 dBm
@ CC110X_STATE_SETTLING
PLL is settling.
Structure to hold driver state.
uint8_t deviatn
DEVIANT configuration register that affects the amount by which the radio frequency is shifted in FSK...
Structure that holds the PATABLE, which allows to configure the 8 available output power levels using...
@ CC110X_TX_POWER_MINUS_15_DBM
-15 dBm
spi_t spi
SPI bus connected to the device.
int cc110x_setup(cc110x_t *dev, const cc110x_params_t *params)
Setup the CC1100/CC1101 driver, but perform no initialization.
Mutex for thread synchronization.
gpio_t gdo2
GPIO pin connected to GDO2.
Low-level GPIO peripheral driver interface definitions.
Structure to hold mapping between virtual and physical channel numbers.
@ CC110X_TX_POWER_MINUS_20_DBM
-20 dBm
const cc110x_patable_t * patable
Pointer to the PATABLE to use.
char fscal3
charge pump current calibration, independent of channel
uint8_t addr
Layer 2 address of this device.
cc110x_state_t
The state of the CC1100/CC1101 transceiver.
spi_cs_t cs
GPIO pin connected to chip select.
@ CC110X_STATE_TX_COMPLETING
Waiting for transceiver to complete outgoing transmission.
@ CC110X_STATE_RXFIFO_OVERFLOW
RX FIFO overflown.
uint8_t data[CAN_MAX_DLEN]
Frame data.
uint8_t mdmcfg4
MDMCFG4 configuration register value that affects channel filter bandwidth and the data rate.
int cc110x_full_calibration(cc110x_t *dev)
Perform a calibration of the frequency generator for each supported channel.
gpio_t gdo0
GPIO pin connected to GDO0.
Received frame status information for most radios.
Device descriptor for CC1100/CC1101 transceivers.
unsigned int spi_t
Default type for SPI devices.