1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/cc110x/include/cc110x_internal.h
Marian Buschsieweke b389a9c5fa
drivers/cc110x: Fixed broken Doxygen grouping
The header files of the CC110x contained two Doxygen "end of doc group" (@})
commands. This PR makes sure they are balanced again.
2019-09-06 08:53:40 +02:00

83 lines
2.2 KiB
C

/*
* Copyright (C) 2018 Otto-von-Guericke-Universität Magdeburg
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup drivers_cc110x
* @{
*
* @file
* @brief Internal functions of the CC110x transceiver driver
*
* @author Marian Buschsieweke <marian.buschsieweke@ovgu.de>
*/
#ifndef CC110X_INTERNAL_H
#define CC110X_INTERNAL_H
#include "cc110x_calibration.h"
#include "cc110x_communication.h"
#include "cc110x_constants.h"
#include "cc110x_netdev.h"
#include "cc110x_rx_tx.h"
#include "cc110x_settings.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Extract the device state from the status register value
*
* @param status Contents of the CC110x's status register
* @return The state encoded in @p status
*
* The status register contains the device state at the bits 1 - 3
*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Format of the status byte
* 0 1 2 3 4 5 6 7
* +-+-+-+-+-+-+-+-+
* |R|STATE| FIFO |
* +-+-+-+-+-+-+-+-+
*
* R = Chip Ready bit (0 = ready, 1 = power and crystal are not yet stable)
* STATE = The device state
* FIFO = Number of bytes available in RX FIFO or (in TX mode) number of free
* bytes
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* Note: The FIFO has a size of 64 bytes. If more than 15 bytes are available
* for reading in the FIFO (or more than 15 bytes can be written in TX), the
* value will still show 15. This driver never uses this information, but
* accesses a dedicated register for that.
*/
static inline cc110x_state_t cc110x_state_from_status(uint8_t status)
{
return (cc110x_state_t)((status >> 4) & 0x7);
}
/**
* @brief Figure out of the transceiver is ready or still powering up
* @param status Contents of the CC110x's status register
* @retval 1 Transceiver is ready
* @retval 0 *NOT* ready, still powering up
*
* @see cc110x_state_from_status
*/
static inline int cc110x_is_ready_from_status(uint8_t status)
{
return (status & 0x80) ? 0: 1;
}
#ifdef __cplusplus
}
#endif
#endif /* CC110X_INTERNAL_H */
/** @} */