Loading...
Searching...
No Matches
cc110x_communication.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 Otto-von-Guericke-Universität Magdeburg
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
19#ifndef CC110X_COMMUNICATION_H
20#define CC110X_COMMUNICATION_H
21
22#include "periph/gpio.h"
23#include "periph/spi.h"
24#include "cc110x.h"
25#include "cc110x_constants.h"
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
38static inline void cc110x_acquire(cc110x_t *dev)
39{
41}
42
46static inline void cc110x_release(cc110x_t *dev)
47{
49}
50
74uint8_t cc110x_read(cc110x_t *dev, uint8_t addr, uint8_t *dest);
75
94uint8_t cc110x_read_reliable(cc110x_t *dev, uint8_t addr, uint8_t *dest);
95
111uint8_t cc110x_write(cc110x_t *dev, uint8_t addr, uint8_t data);
112
131uint8_t cc110x_burst_read(cc110x_t *dev, uint8_t addr, void *dest, size_t len);
132
151uint8_t cc110x_burst_write(cc110x_t *dev, uint8_t addr,
152 const void *src, size_t len);
153
167uint8_t cc110x_cmd(cc110x_t *dev, uint8_t cmd);
168
177
206
207#ifdef __cplusplus
208}
209#endif
210
211#endif /* CC110X_COMMUNICATION_H */
Interface definition for the CC1100/CC1101 driver.
int cc110x_power_on_and_acquire(cc110x_t *dev)
Wakes up the transceiver from "Sleep" or "Crystal oscillator off" state and waits until the crystal h...
uint8_t cc110x_burst_read(cc110x_t *dev, uint8_t addr, void *dest, size_t len)
Burst-read a bunch of configuration registers from the transceiver.
uint8_t cc110x_status(cc110x_t *dev)
Get the transceivers status byte in a reliable way.
uint8_t cc110x_burst_write(cc110x_t *dev, uint8_t addr, const void *src, size_t len)
Burst-write to a bunch of configuration registers on the transceiver.
static void cc110x_acquire(cc110x_t *dev)
Acquire the SPI interface of the transceiver.
uint8_t cc110x_read(cc110x_t *dev, uint8_t addr, uint8_t *dest)
Read a single configuration/status register from the transceiver.
uint8_t cc110x_read_reliable(cc110x_t *dev, uint8_t addr, uint8_t *dest)
Read a single status register from the transceiver reliable.
static void cc110x_release(cc110x_t *dev)
Release the SPI interface of the transceiver.
uint8_t cc110x_cmd(cc110x_t *dev, uint8_t cmd)
Send a command to the transceiver.
uint8_t cc110x_write(cc110x_t *dev, uint8_t addr, uint8_t data)
Write to a single configuration register on the transceiver.
Constants for the CC1100/CC1101 driver.
Low-level GPIO peripheral driver interface definitions.
void spi_acquire(spi_t bus, spi_cs_t cs, spi_mode_t mode, spi_clk_t clk)
Start a new SPI transaction.
void spi_release(spi_t bus)
Finish an ongoing SPI transaction by releasing the given SPI bus.
@ SPI_MODE_0
CPOL=0, CPHA=0.
Definition periph_cpu.h:44
Low-level SPI peripheral driver interface definition.
spi_t spi
SPI bus connected to the device.
Definition cc110x.h:462
spi_clk_t spi_clk
SPI clock to use (max 6.5 MHz)
Definition cc110x.h:463
spi_cs_t cs
GPIO pin connected to chip select.
Definition cc110x.h:464
Device descriptor for CC1100/CC1101 transceivers.
Definition cc110x.h:512
cc110x_params_t params
Configuration of the driver.
Definition cc110x.h:521