drivers: doxygen cleanup

This commit is contained in:
Alexandre Abadie 2017-08-29 18:00:46 +02:00
parent d512967fb6
commit 94c753c07a
171 changed files with 1375 additions and 1352 deletions

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_adcxx1c * @ingroup drivers_adcxx1c
* @{ * @{
* *
* @file * @file

View File

@ -28,7 +28,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the ADCXX1C driver * @name Set default configuration parameters for the ADCXX1C driver
* @{ * @{
*/ */
#ifndef ADCXX1C_PARAM_I2C #ifndef ADCXX1C_PARAM_I2C

View File

@ -24,7 +24,7 @@ extern "C" {
#endif #endif
/** /**
* @name ADCxx1C register addesses * @name ADCxx1C register addesses
* @{ * @{
*/ */
#define ADCXX1C_CONV_RES_ADDR (0) #define ADCXX1C_CONV_RES_ADDR (0)
@ -38,7 +38,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name ADCxx1C Config flags * @name ADCxx1C Config flags
* @{ * @{
*/ */
#define ADCXX1C_CONF_ALERT_PIN_EN (1 << 2) #define ADCXX1C_CONF_ALERT_PIN_EN (1 << 2)

View File

@ -28,7 +28,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the ADXL345 driver * @name Set default configuration parameters for the ADXL345 driver
* @{ * @{
*/ */
#ifndef ADXL345_PARAM_I2C #ifndef ADXL345_PARAM_I2C

View File

@ -23,8 +23,9 @@
extern "C" { extern "C" {
#endif #endif
/** \name Register addresses /**
* @{ * @name Register addresses
* @{
*/ */
#define ACCEL_ADXL345_CHIP_ID_REG (0x00) /**< Device ID */ #define ACCEL_ADXL345_CHIP_ID_REG (0x00) /**< Device ID */
#define ACCEL_ADXL345_THRESH_TAP (0x1D) /**< Tap threshold */ #define ACCEL_ADXL345_THRESH_TAP (0x1D) /**< Tap threshold */
@ -59,14 +60,14 @@
/** @} */ /** @} */
/** /**
* @name Device ID for ADXL345 * @name Device ID for ADXL345
* @{ * @{
*/ */
#define ACCEL_ADXL345_CHIP_ID (0xE5) #define ACCEL_ADXL345_CHIP_ID (0xE5)
/** @} */ /** @} */
/** /**
* @name Resolution masks for output data * @name Resolution masks for output data
* @{ * @{
*/ */
#define RES_10_BITS (0x03FF) #define RES_10_BITS (0x03FF)
@ -76,7 +77,7 @@
/** @} */ /** @} */
/** /**
* @name bits definitions for ACT_INACT_CTL register * @name bits definitions for ACT_INACT_CTL register
* @{ * @{
*/ */
#define INACT_Z_ENABLE (1 << 0) #define INACT_Z_ENABLE (1 << 0)
@ -90,7 +91,7 @@
/** @} */ /** @} */
/** /**
* @name bits definitions for TAP_AXES register * @name bits definitions for TAP_AXES register
* @{ * @{
*/ */
#define TAP_Z_ENABLE (1 << 0) #define TAP_Z_ENABLE (1 << 0)
@ -101,7 +102,7 @@
/** @} */ /** @} */
/** /**
* @name bits definitions for ACT_TAP_STATUS register * @name bits definitions for ACT_TAP_STATUS register
* @{ * @{
*/ */
#define TAP_Z_SRC (1 << 0) #define TAP_Z_SRC (1 << 0)
@ -114,7 +115,7 @@
/** @} */ /** @} */
/** /**
* @name bits definitions for BW_RATE register * @name bits definitions for BW_RATE register
* @{ * @{
*/ */
#define RATE_MASK (0x0F) #define RATE_MASK (0x0F)
@ -122,7 +123,7 @@
/** @} */ /** @} */
/** /**
* @name bits definitions for PWR_CTL register * @name bits definitions for PWR_CTL register
* @{ * @{
*/ */
#define WAKEUP_8HZ (0x00) #define WAKEUP_8HZ (0x00)
@ -136,7 +137,7 @@
/** @} */ /** @} */
/** /**
* @name interrupts pins definitions for INT_ENABLE, INT_MAP and INT_SOURCE * @name interrupts pins definitions for INT_ENABLE, INT_MAP and INT_SOURCE
* registers * registers
* @{ * @{
*/ */
@ -151,7 +152,7 @@
/** @} */ /** @} */
/** /**
* @name bits definitions for DATA_FORMAT register * @name bits definitions for DATA_FORMAT register
* @{ * @{
*/ */
#define RANGE_MASK (0x03) #define RANGE_MASK (0x03)
@ -163,7 +164,7 @@
/** @} */ /** @} */
/** /**
* @name bits definitions for FIFO_CTL register * @name bits definitions for FIFO_CTL register
* @{ * @{
*/ */
#define SAMPLES_MASK (0x0F) #define SAMPLES_MASK (0x0F)
@ -174,7 +175,7 @@
/** @} */ /** @} */
/** /**
* @name bits definitions for FIFO_STATUS register * @name bits definitions for FIFO_STATUS register
* @{ * @{
*/ */
#define FIFO_ENTRIES_MASK (0x3F) #define FIFO_ENTRIES_MASK (0x3F)

View File

@ -7,6 +7,7 @@
*/ */
/** /**
* @ingroup drivers_at30tse75x
* @file * @file
* @brief Driver for the AT30TSE75x temperature sensor with serial EEPROM * @brief Driver for the AT30TSE75x temperature sensor with serial EEPROM
* *

View File

@ -28,7 +28,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the AT86RF2xx driver * @name Set default configuration parameters for the AT86RF2xx driver
* @{ * @{
*/ */
#ifndef AT86RF2XX_PARAM_SPI #ifndef AT86RF2XX_PARAM_SPI

View File

@ -29,7 +29,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Constant part numbers of the AT86RF2xx device family * @name Constant part numbers of the AT86RF2xx device family
* @{ * @{
*/ */
#define AT86RF212B_PARTNUM (0x07) #define AT86RF212B_PARTNUM (0x07)
@ -39,7 +39,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Assign the part number for the device we are building the driver for * @name Assign the part number for the device we are building the driver for
* @{ * @{
*/ */
#ifdef MODULE_AT86RF212B #ifdef MODULE_AT86RF212B
@ -54,7 +54,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief SPI access specifiers * @name SPI access specifiers
* @{ * @{
*/ */
#define AT86RF2XX_ACCESS_REG (0x80) #define AT86RF2XX_ACCESS_REG (0x80)
@ -65,7 +65,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Register addresses * @name Register addresses
* @{ * @{
*/ */
#define AT86RF2XX_REG__TRX_STATUS (0x01) #define AT86RF2XX_REG__TRX_STATUS (0x01)
@ -119,7 +119,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the TRX_CTRL_0 register * @name Bitfield definitions for the TRX_CTRL_0 register
* @{ * @{
*/ */
#define AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO (0xC0) #define AT86RF2XX_TRX_CTRL_0_MASK__PAD_IO (0xC0)
@ -143,7 +143,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the TRX_CTRL_1 register * @name Bitfield definitions for the TRX_CTRL_1 register
* @{ * @{
*/ */
#define AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN (0x80) #define AT86RF2XX_TRX_CTRL_1_MASK__PA_EXT_EN (0x80)
@ -156,7 +156,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the TRX_CTRL_2 register * @name Bitfield definitions for the TRX_CTRL_2 register
* @{ * @{
*/ */
#define AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE (0x80) #define AT86RF2XX_TRX_CTRL_2_MASK__RX_SAFE_MODE (0x80)
@ -170,7 +170,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the IRQ_STATUS register * @name Bitfield definitions for the IRQ_STATUS register
* @{ * @{
*/ */
#define AT86RF2XX_IRQ_STATUS_MASK__BAT_LOW (0x80) #define AT86RF2XX_IRQ_STATUS_MASK__BAT_LOW (0x80)
@ -184,7 +184,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the TRX_STATUS register * @name Bitfield definitions for the TRX_STATUS register
* @{ * @{
*/ */
#define AT86RF2XX_TRX_STATUS_MASK__CCA_DONE (0x80) #define AT86RF2XX_TRX_STATUS_MASK__CCA_DONE (0x80)
@ -209,7 +209,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the TRX_STATE register * @name Bitfield definitions for the TRX_STATE register
* @{ * @{
*/ */
#define AT86RF2XX_TRX_STATE_MASK__TRAC (0xe0) #define AT86RF2XX_TRX_STATE_MASK__TRAC (0xe0)
@ -232,7 +232,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the PHY_CCA register * @name Bitfield definitions for the PHY_CCA register
* @{ * @{
*/ */
#define AT86RF2XX_PHY_CC_CCA_MASK__CCA_REQUEST (0x80) #define AT86RF2XX_PHY_CC_CCA_MASK__CCA_REQUEST (0x80)
@ -243,7 +243,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the CCA_THRES register * @name Bitfield definitions for the CCA_THRES register
* @{ * @{
*/ */
#define AT86RF2XX_CCA_THRES_MASK__CCA_ED_THRES (0x0F) #define AT86RF2XX_CCA_THRES_MASK__CCA_ED_THRES (0x0F)
@ -252,7 +252,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the PHY_TX_PWR register * @name Bitfield definitions for the PHY_TX_PWR register
* @{ * @{
*/ */
#ifdef MODULE_AT86RF212B #ifdef MODULE_AT86RF212B
@ -272,7 +272,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the PHY_RSSI register * @name Bitfield definitions for the PHY_RSSI register
* @{ * @{
*/ */
#define AT86RF2XX_PHY_RSSI_MASK__RX_CRC_VALID (0x80) #define AT86RF2XX_PHY_RSSI_MASK__RX_CRC_VALID (0x80)
@ -281,7 +281,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the XOSC_CTRL register * @name Bitfield definitions for the XOSC_CTRL register
* @{ * @{
*/ */
#define AT86RF2XX_XOSC_CTRL__XTAL_MODE_CRYSTAL (0xF0) #define AT86RF2XX_XOSC_CTRL__XTAL_MODE_CRYSTAL (0xF0)
@ -289,7 +289,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Timing values * @name Timing values
* @{ * @{
*/ */
#define AT86RF2XX_TIMING__VCC_TO_P_ON (330) #define AT86RF2XX_TIMING__VCC_TO_P_ON (330)
@ -302,7 +302,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the XAH_CTRL_0 register * @name Bitfield definitions for the XAH_CTRL_0 register
* @{ * @{
*/ */
#define AT86RF2XX_XAH_CTRL_0__MAX_FRAME_RETRIES (0xF0) #define AT86RF2XX_XAH_CTRL_0__MAX_FRAME_RETRIES (0xF0)
@ -311,7 +311,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the XAH_CTRL_1 register * @name Bitfield definitions for the XAH_CTRL_1 register
* @{ * @{
*/ */
#define AT86RF2XX_XAH_CTRL_1__AACK_FLTR_RES_FT (0x20) #define AT86RF2XX_XAH_CTRL_1__AACK_FLTR_RES_FT (0x20)
@ -321,7 +321,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the CSMA_SEED_1 register * @name Bitfield definitions for the CSMA_SEED_1 register
* @{ * @{
*/ */
#define AT86RF2XX_CSMA_SEED_1__AACK_SET_PD (0x20) #define AT86RF2XX_CSMA_SEED_1__AACK_SET_PD (0x20)
@ -331,7 +331,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Bitfield definitions for the RF_CTRL_0 register * @name Bitfield definitions for the RF_CTRL_0 register
* @{ * @{
*/ */
#ifdef MODULE_AT86RF212B #ifdef MODULE_AT86RF212B

View File

@ -34,7 +34,7 @@ extern "C" {
#define RES_DIV (78642) #define RES_DIV (78642)
/** /**
* @brief Opcodes * @name Opcodes
* @{ * @{
*/ */
#define OP_POWER_DOWN (0x00) #define OP_POWER_DOWN (0x00)
@ -51,7 +51,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Measurement delays (in us) * @name Measurement delays (in us)
* @{ * @{
*/ */
#define DELAY_HMODE (120000) /**< typ. 120ms in H-mode */ #define DELAY_HMODE (120000) /**< typ. 120ms in H-mode */

View File

@ -27,7 +27,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for BH1750FVI devices * @name Set default configuration parameters for BH1750FVI devices
* @{ * @{
*/ */
#ifndef BH1750FVI_PARAM_I2C #ifndef BH1750FVI_PARAM_I2C

View File

@ -25,14 +25,14 @@ extern "C" {
#endif #endif
/** /**
* @name BMP180 I2C address * @name BMP180 I2C address
* @{ * @{
*/ */
#define BMP180_ADDR (0x77) /* 7 bit address */ #define BMP180_ADDR (0x77) /* 7 bit address */
/** @} */ /** @} */
/** /**
* @name BMP180 registers * @name BMP180 registers
* @{ * @{
*/ */
#define BMP180_REGISTER_ID (0xD0) #define BMP180_REGISTER_ID (0xD0)
@ -44,7 +44,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name Oversampling modes delays (micros) * @name Oversampling modes delays (micros)
* @{ * @{
*/ */
#define BMP180_ULTRALOWPOWER_DELAY (5000UL) #define BMP180_ULTRALOWPOWER_DELAY (5000UL)

View File

@ -31,7 +31,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the BMP180 * @name Set default configuration parameters for the BMP180
* @{ * @{
*/ */
#ifndef BMP180_PARAM_I2C_DEV #ifndef BMP180_PARAM_I2C_DEV

View File

@ -8,7 +8,7 @@
*/ */
/** /**
* @ingroup driver_bmx280 * @ingroup drivers_bmx280
* @{ * @{
* *
* @file * @file

View File

@ -26,7 +26,7 @@ extern "C" {
#endif #endif
/** /**
* @name BME280 registers * @name BME280 registers
* @{ * @{
*/ */
#define BME280_CHIP_ID 0x60 /* The identifier of the BME280 */ #define BME280_CHIP_ID 0x60 /* The identifier of the BME280 */

View File

@ -29,7 +29,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the BMX280 * @name Set default configuration parameters for the BMX280
* @{ * @{
*/ */
#ifndef BMX280_PARAM_I2C_DEV #ifndef BMX280_PARAM_I2C_DEV

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_cc110x * @ingroup drivers_cc110x
* @{ * @{
* *
* @file * @file

View File

@ -203,5 +203,5 @@ extern "C" {
} }
#endif #endif
/** @} */
#endif /* CC110X_DEFINES_H */ #endif /* CC110X_DEFINES_H */
/** @} */

View File

@ -62,5 +62,5 @@ void cc110x_hook_off(void);
} }
#endif #endif
/** @} */
#endif /* CC110X_INTERFACE_H */ #endif /* CC110X_INTERFACE_H */
/** @} */

View File

@ -206,5 +206,5 @@ typedef struct cc110x_statistic {
} }
#endif #endif
/** @} */
#endif /* CC110X_INTERNAL_H */ #endif /* CC110X_INTERNAL_H */
/** @} */

View File

@ -64,3 +64,4 @@ int netdev_cc110x_setup(netdev_cc110x_t *netdev_cc110x, const cc110x_params_t *p
#endif #endif
#endif /* CC110X_NETDEV_H */ #endif /* CC110X_NETDEV_H */
/** @} */

View File

@ -112,5 +112,5 @@ void cc110x_cs(cc110x_t *dev);
} }
#endif #endif
/** @} */
#endif /* CC110X_SPI_H */ #endif /* CC110X_SPI_H */
/** @} */

View File

@ -26,7 +26,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the CC2420 driver * @name Set default configuration parameters for the CC2420 driver
* @{ * @{
*/ */
#ifndef CC2420_PARAM_SPI #ifndef CC2420_PARAM_SPI

View File

@ -26,7 +26,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Internal device option flags * @name Internal device option flags
* @{ * @{
*/ */
#define CC2420_OPT_AUTOACK (0x0001) /**< auto ACKs active */ #define CC2420_OPT_AUTOACK (0x0001) /**< auto ACKs active */
@ -45,7 +45,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Possible device state change commands * @name Possible device state change commands
* @{ * @{
*/ */
enum { enum {
@ -57,7 +57,7 @@ enum {
}; };
/** /**
* @brief (Selected) device states * @name (Selected) device states
*/ */
enum { enum {
CC2420_STATE_PD = 0, /**< power down */ CC2420_STATE_PD = 0, /**< power down */
@ -68,7 +68,7 @@ enum {
}; };
/** /**
* @brief CC2420 SPI commands * @name CC2420 SPI commands
* @{ * @{
*/ */
#define CC2420_REG_WRITE (0x00) /**< read register value */ #define CC2420_REG_WRITE (0x00) /**< read register value */
@ -82,7 +82,7 @@ enum {
/** /**
* @brief CC2420 strobe commands * @name CC2420 strobe commands
* @see Datasheet section 37, pages 61--62 * @see Datasheet section 37, pages 61--62
* @{ * @{
*/ */
@ -104,7 +104,7 @@ enum {
/** @} */ /** @} */
/** /**
* @brief CC2420 configuration registers * @name CC2420 configuration registers
* @see Datasheet section 37, pages 61 to 80 * @see Datasheet section 37, pages 61 to 80
* @{ * @{
*/ */
@ -145,7 +145,7 @@ enum {
/** @} */ /** @} */
/** /**
* @brief CC2420 section address in RAM * @name CC2420 section address in RAM
* @see Datasheet section 13.5 page 31. * @see Datasheet section 13.5 page 31.
* @{ * @{
*/ */
@ -165,7 +165,7 @@ enum {
/** @} */ /** @} */
/** /**
* @brief Status byte bit fields * @name Status byte bit fields
* @see Datasheet section 13.3, page 29 * @see Datasheet section 13.3, page 29
* @{ * @{
*/ */
@ -178,7 +178,7 @@ enum {
/** @} */ /** @} */
/** /**
* @brief Modem control 0 register bitfields * @name Modem control 0 register bitfields
* @{ * @{
*/ */
#define CC2420_MDMCTRL0_RES_FRM (0x2000 #define CC2420_MDMCTRL0_RES_FRM (0x2000
@ -191,21 +191,21 @@ enum {
/** @} */ /** @} */
/** /**
* @brief Transmit control register bitfields * @name Transmit control register bitfields
* @{ * @{
*/ */
#define CC2420_TXCTRL_PA_MASK (0x001f) #define CC2420_TXCTRL_PA_MASK (0x001f)
/** @} */ /** @} */
/** /**
* @brief Receive control register 1 bitfields * @name Receive control register 1 bitfields
* @{ * @{
*/ */
#define CC2420_RXCTRL1_RXBPF_LOCUR (0x2000) #define CC2420_RXCTRL1_RXBPF_LOCUR (0x2000)
/** @} */ /** @} */
/** /**
* @brief Frequency synthesizer control and status register bitfields * @name Frequency synthesizer control and status register bitfields
* @{ * @{
*/ */
#define CC2420_FSCTRL_LOCK_THR_MASK (0xc000) #define CC2420_FSCTRL_LOCK_THR_MASK (0xc000)
@ -217,21 +217,25 @@ enum {
/** @} */ /** @} */
/** /**
* @brief Security control register 0 bitfields * @name Security control register 0 bitfields
* @{ * @{
*/ */
#define CC2420_SECCTRL0_RXFIFO_PROT (0x0200) #define CC2420_SECCTRL0_RXFIFO_PROT (0x0200)
/** @} */ /** @} */
/** /**
* @brief Manufacturer ID low register value * @name Manufacturer ID low register value
* @{
*/ */
#define CC2420_MANFIDL_VAL (0x233d) #define CC2420_MANFIDL_VAL (0x233d)
/** @} */
/** /**
* @brief Manufacturer ID high register value * @name Manufacturer ID high register value
* @{
*/ */
#define CC2420_MANFIDH_VAL (0x3000) #define CC2420_MANFIDH_VAL (0x3000)
/** @} */
#ifdef __cplusplus #ifdef __cplusplus
@ -239,3 +243,4 @@ enum {
#endif #endif
#endif /* CC2420_REGISTERS_H */ #endif /* CC2420_REGISTERS_H */
/** @} */

View File

@ -28,7 +28,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the DHT devices * @name Set default configuration parameters for the DHT devices
* @{ * @{
*/ */
#ifndef DHT_PARAM_PIN #ifndef DHT_PARAM_PIN

View File

@ -7,6 +7,7 @@
*/ */
/** /**
* @ingroup drivers_ds1307
* @{ * @{
* *
* @file * @file

View File

@ -29,7 +29,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the DSP0401 (for Nucleo-F411) * @name Set default configuration parameters for the DSP0401 (for Nucleo-F411)
* @{ * @{
*/ */
#ifndef DSP0401_PARAM_SDI_PIN #ifndef DSP0401_PARAM_SDI_PIN

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_enc28j60 * @ingroup drivers_enc28j60
* @{ * @{
* *
* @file * @file

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_enc28j60 * @ingroup drivers_enc28j60
* @{ * @{
* *
* @file * @file
@ -26,7 +26,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the ENC28J60 driver * @name Set default configuration parameters for the ENC28J60 driver
* @{ * @{
*/ */
#ifndef ENC28J60_PARAM_SPI #ifndef ENC28J60_PARAM_SPI

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_enc28j60 * @ingroup drivers_enc28j60
* @{ * @{
* *
* @file * @file
@ -24,7 +24,7 @@ extern "C" {
#endif #endif
/** /**
* @brief SPI instruction set * @name SPI instruction set
* @{ * @{
*/ */
#define CMD_RCR 0x00 /* read control register */ #define CMD_RCR 0x00 /* read control register */
@ -37,7 +37,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Available address pointers * @name Available address pointers
* @{ * @{
*/ */
#define ADDR_READ_PTR 0x00 /**< Read pointer */ #define ADDR_READ_PTR 0x00 /**< Read pointer */
@ -51,7 +51,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Shared registers (accessible on each bank) * @name Shared registers (accessible on each bank)
* @{ * @{
*/ */
#define REG_EIE 0x1b /**< interrupt enable */ #define REG_EIE 0x1b /**< interrupt enable */
@ -62,7 +62,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Register in bank 0 - Ethernet registers * @name Register in bank 0 - Ethernet registers
* @{ * @{
*/ */
#define REG_B0_ERDPTL 0x00 /* read data pointer - low byte */ #define REG_B0_ERDPTL 0x00 /* read data pointer - low byte */
@ -92,7 +92,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Registers in bank 1 - Ethernet registers * @name Registers in bank 1 - Ethernet registers
* @{ * @{
*/ */
#define REG_B1_EHT0 0x00 /* hash table - byte 0 */ #define REG_B1_EHT0 0x00 /* hash table - byte 0 */
@ -120,7 +120,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Registers in bank 2 - MAC registers * @name Registers in bank 2 - MAC registers
* @{ * @{
*/ */
#define REG_B2_MACON1 0x00 /* MAC control register 1 */ #define REG_B2_MACON1 0x00 /* MAC control register 1 */
@ -142,7 +142,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Registers in bank 3 - MIXED registers * @name Registers in bank 3 - MIXED registers
* @{ * @{
*/ */
#define REG_B3_MAADR5 0x00 /* MAC address - byte 5 */ #define REG_B3_MAADR5 0x00 /* MAC address - byte 5 */
@ -164,7 +164,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief PHY Registers * @name PHY Registers
* @{ * @{
*/ */
#define REG_PHY_PHCON1 0x00 #define REG_PHY_PHCON1 0x00
@ -179,7 +179,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief EIE bitfields * @name EIE bitfields
* @{ * @{
*/ */
#define EIE_INTIE 0x80 #define EIE_INTIE 0x80
@ -192,7 +192,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief EIR bitfields * @name EIR bitfields
* @{ * @{
*/ */
#define EIR_PKTIF 0x40 #define EIR_PKTIF 0x40
@ -204,7 +204,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief ESTAT bitfields * @name ESTAT bitfields
* @{ * @{
*/ */
#define ESTAT_INT 0x80 #define ESTAT_INT 0x80
@ -216,7 +216,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief ECON1 bitfields * @name ECON1 bitfields
* @{ * @{
*/ */
#define ECON1_TXRST 0x80 #define ECON1_TXRST 0x80
@ -231,7 +231,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief ECON2 bitfields * @name ECON2 bitfields
* @{ * @{
*/ */
#define ECON2_AUTOINC 0x80 #define ECON2_AUTOINC 0x80
@ -241,7 +241,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief ERXFCON bitfields * @name ERXFCON bitfields
* @{ * @{
*/ */
#define ERXFCON_UCEN 0x80 #define ERXFCON_UCEN 0x80
@ -255,7 +255,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief MACON1 bitfields * @name MACON1 bitfields
* @{ * @{
*/ */
#define MACON1_TXPAUS 0x08 #define MACON1_TXPAUS 0x08
@ -265,7 +265,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief MACON3 bitfields * @name MACON3 bitfields
* @{ * @{
*/ */
#define MACON3_PADCFG2 0x80 #define MACON3_PADCFG2 0x80
@ -279,7 +279,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief MACON4 bitfields * @name MACON4 bitfields
* @{ * @{
*/ */
#define MACON4_DEFER 0x40 #define MACON4_DEFER 0x40
@ -288,7 +288,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief MABBIPG bitfields * @name MABBIPG bitfields
* @{ * @{
*/ */
#define MABBIPG_FD 0x15 #define MABBIPG_FD 0x15
@ -296,14 +296,14 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief MAIPGL bitfields * @name MAIPGL bitfields
* @{ * @{
*/ */
#define MAIPGL_FD 0x12 #define MAIPGL_FD 0x12
/** @} */ /** @} */
/** /**
* @brief MICMD bitfields * @name MICMD bitfields
* @{ * @{
*/ */
#define MICMD_MIISCAN 0x02 #define MICMD_MIISCAN 0x02
@ -311,7 +311,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief MISTAT bitfields * @name MISTAT bitfields
* @{ * @{
*/ */
#define MISTAT_NVALID 0x04 #define MISTAT_NVALID 0x04
@ -320,7 +320,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief EFLOCON bitfields * @name EFLOCON bitfields
* @{ * @{
*/ */
#define EFLOCON_FULDPXS 0x04 #define EFLOCON_FULDPXS 0x04
@ -331,7 +331,7 @@ extern "C" {
/** /**
* @brief PHCON1 bitfields * @name PHCON1 bitfields
* @{ * @{
*/ */
#define PHCON1_PRST 0x8000 #define PHCON1_PRST 0x8000
@ -341,7 +341,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief PHSTAT1 bitfields * @name PHSTAT1 bitfields
* @{ * @{
*/ */
#define PHSTAT1_PFDPX 0x1000 #define PHSTAT1_PFDPX 0x1000
@ -351,7 +351,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief PHCON2 bitfields * @name PHCON2 bitfields
* @{ * @{
*/ */
#define PHCON2_FRCLNK 0x4000 #define PHCON2_FRCLNK 0x4000
@ -361,7 +361,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief PHSTAT2 bitfields * @name PHSTAT2 bitfields
* @{ * @{
*/ */
#define PHSTAT2_TXSTAT 0x2000 #define PHSTAT2_TXSTAT 0x2000
@ -373,7 +373,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief PHIE bitfields * @name PHIE bitfields
* @{ * @{
*/ */
#define PHIE_PLNKIE 0x0010 #define PHIE_PLNKIE 0x0010
@ -381,7 +381,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief PHIR bitfields * @name PHIR bitfields
* @{ * @{
*/ */
#define PHIR_PLNKIF 0x0010 #define PHIR_PLNKIF 0x0010
@ -389,7 +389,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief PHLCON bitfields * @name PHLCON bitfields
* @{ * @{
*/ */
#define PHLCON_LACFG(x) ((x & 0xf) << 8) #define PHLCON_LACFG(x) ((x & 0xf) << 8)
@ -399,7 +399,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Frame status bitfields * @name Frame status bitfields
* @{ * @{
*/ */
#define FRAME_4_RECV_OK 0x80 #define FRAME_4_RECV_OK 0x80
@ -419,7 +419,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief TX control byte bitfields * @name TX control byte bitfields
* @{ * @{
*/ */
#define TX_PHUGEEN 0x08 #define TX_PHUGEEN 0x08

View File

@ -8,7 +8,7 @@
*/ */
/** /**
* @ingroup driver_encx24j600 * @ingroup drivers_encx24j600
* @{ * @{
* *
* @file * @file

View File

@ -8,7 +8,7 @@
*/ */
/** /**
* @ingroup driver_encx24j600 * @ingroup drivers_encx24j600
* @{ * @{
* *
* @file * @file
@ -25,7 +25,7 @@ extern "C" {
#endif #endif
/** /**
* @name SPI instruction set * @name SPI instruction set
* @{ * @{
*/ */
#define ENC_RCR 0x00 /* read control register */ #define ENC_RCR 0x00 /* read control register */
@ -66,7 +66,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name 16bit Registers * @name 16bit Registers
* @{ * @{
*/ */
#define ENC_ETXST 0x00 #define ENC_ETXST 0x00
@ -105,7 +105,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name PHY Registers * @name PHY Registers
* *
* (access with phy_reg_* functions) * (access with phy_reg_* functions)
* *
@ -122,7 +122,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name ESTAT bits * @name ESTAT bits
* @{ * @{
*/ */
#define ENC_PHYLNK (1<<8) #define ENC_PHYLNK (1<<8)
@ -130,7 +130,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name ECON1 bits * @name ECON1 bits
* @{ * @{
*/ */
#define ENC_RXEN (1<<0) #define ENC_RXEN (1<<0)
@ -152,7 +152,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name ECON2 bits * @name ECON2 bits
* @{ * @{
*/ */
#define ENC_ETHRST (1<<4) #define ENC_ETHRST (1<<4)
@ -160,7 +160,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name EIR bits * @name EIR bits
* @{ * @{
*/ */
#define ENC_PCFULIE (1<<0) #define ENC_PCFULIE (1<<0)
@ -177,7 +177,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name EIR bits * @name EIR bits
* @{ * @{
*/ */
#define ENC_PCFULIF (1<<0) #define ENC_PCFULIF (1<<0)
@ -194,7 +194,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name ERXFCON bits * @name ERXFCON bits
*/ */
#define ENC_MCEN (1<<1) #define ENC_MCEN (1<<1)
/** @} */ /** @} */

View File

@ -8,7 +8,7 @@
*/ */
/** /**
* @ingroup driver_encx24j600 * @ingroup drivers_encx24j600
* @{ * @{
* *
* @file * @file

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_ethos * @ingroup drivers_ethos
* @{ * @{
* *
* @file * @file

View File

@ -24,7 +24,7 @@ extern "C" {
#endif #endif
/** /**
* @brief HD44780 LCD commands * @name HD44780 LCD commands
* @{ * @{
*/ */
#define HD44780_CLEARDISPLAY (0x01) #define HD44780_CLEARDISPLAY (0x01)
@ -38,7 +38,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief HD44780 LCD entry modes flags * @name HD44780 LCD entry modes flags
* @{ * @{
*/ */
#define HD44780_ENTRYRIGHT (0x00) #define HD44780_ENTRYRIGHT (0x00)
@ -48,7 +48,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief HD44780 LCD control flags * @name HD44780 LCD control flags
* @{ * @{
*/ */
#define HD44780_DISPLAYON (0x04) #define HD44780_DISPLAYON (0x04)
@ -60,7 +60,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief HD44780 display and cursor shift flags * @name HD44780 display and cursor shift flags
* @{ * @{
*/ */
#define HD44780_DISPLAYMOVE (0x08) #define HD44780_DISPLAYMOVE (0x08)
@ -70,7 +70,7 @@ extern "C" {
/**@}*/ /**@}*/
/** /**
* @brief HD44780 LCD functional flags * @name HD44780 LCD functional flags
* @{ * @{
*/ */
#define HD44780_8BITMODE (0x10) #define HD44780_8BITMODE (0x10)
@ -82,7 +82,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief HD44780 LCD timings * @name HD44780 LCD timings
* @{ * @{
*/ */
#define HD44780_CMD_WAIT (2000U) #define HD44780_CMD_WAIT (2000U)

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_hdc1000 * @ingroup drivers_hdc1000
* @{ * @{
* *
* @file * @file

View File

@ -28,7 +28,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Set default configuration parameters for the HDC1000 driver * @name Set default configuration parameters for the HDC1000 driver
* @{ * @{
*/ */
#ifndef HDC1000_PARAM_I2C #ifndef HDC1000_PARAM_I2C

View File

@ -27,7 +27,7 @@ extern "C"
#endif #endif
/** /**
* @brief Manufacturer and Device IDs * @name Manufacturer and Device IDs
* @{ * @{
*/ */
#define HDC1000_MID_VALUE 0x5449 #define HDC1000_MID_VALUE 0x5449
@ -35,7 +35,7 @@ extern "C"
/** @} */ /** @} */
/** /**
* @brief Register Map * @name Register Map
* @{ * @{
*/ */
#define HDC1000_TEMPERATURE (0x00) #define HDC1000_TEMPERATURE (0x00)
@ -49,7 +49,7 @@ extern "C"
/** @} */ /** @} */
/** /**
* @brief Configuration register bitmap * @name Configuration register bitmap
* @{ * @{
*/ */
#define HDC1000_RST (1 << 15) #define HDC1000_RST (1 << 15)

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_hih6130 * @ingroup drivers_hih6130
* @{ * @{
* *
* @file * @file

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_ina220 * @ingroup drivers_ina220
* @{ * @{
* *
* @file * @file

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @ingroup driver_ina220 * @ingroup drivers_ina220
* @{ * @{
* *
* @file * @file

View File

@ -30,8 +30,10 @@ extern "C" {
#include "periph/i2c.h" #include "periph/i2c.h"
#include "periph/gpio.h" #include "periph/gpio.h"
/**
* @brief ADCxx1C default address (ADCxx1C021 address)
*/
#ifndef ADCXX1C_I2C_ADDRESS #ifndef ADCXX1C_I2C_ADDRESS
/** ADCxx1C default address (ADCxx1C021 address) */
#define ADCXX1C_I2C_ADDRESS (0x54) #define ADCXX1C_I2C_ADDRESS (0x54)
#endif #endif
@ -111,7 +113,7 @@ typedef struct adcxx1c {
} adcxx1c_t; } adcxx1c_t;
/** /**
* @brief Initialize an ADCxx1C ADC device * @brief Initialize an ADCxx1C ADC device
* *
* @param[in,out] dev device descriptor * @param[in,out] dev device descriptor
* @param[in] params device configuration * @param[in] params device configuration
@ -121,7 +123,7 @@ typedef struct adcxx1c {
int adcxx1c_init(adcxx1c_t *dev, const adcxx1c_params_t *params); int adcxx1c_init(adcxx1c_t *dev, const adcxx1c_params_t *params);
/** /**
* @brief Read a raw ADC value * @brief Read a raw ADC value
* *
* @param[in] dev device descriptor * @param[in] dev device descriptor
* @param[out] raw read value * @param[out] raw read value
@ -131,7 +133,7 @@ int adcxx1c_init(adcxx1c_t *dev, const adcxx1c_params_t *params);
int adcxx1c_read_raw(const adcxx1c_t *dev, int16_t *raw); int adcxx1c_read_raw(const adcxx1c_t *dev, int16_t *raw);
/** /**
* @brief Enable alert interrupt * @brief Enable alert interrupt
* *
* @param[in] dev device descriptor * @param[in] dev device descriptor
* @param[in] cb callback called when the alert fires * @param[in] cb callback called when the alert fires
@ -142,7 +144,7 @@ int adcxx1c_read_raw(const adcxx1c_t *dev, int16_t *raw);
int adcxx1c_enable_alert(adcxx1c_t *dev, adcxx1c_cb_t cb, void *arg); int adcxx1c_enable_alert(adcxx1c_t *dev, adcxx1c_cb_t cb, void *arg);
/** /**
* @brief Set the alert parameters * @brief Set the alert parameters
* *
* @param[in,out] dev device descriptor * @param[in,out] dev device descriptor
* @param[in] low_limit alert low limit * @param[in] low_limit alert low limit

View File

@ -61,7 +61,7 @@ extern "C"
#endif #endif
/** /**
* @brief Device descriptor for ADT7310 sensors. * @brief Device descriptor for ADT7310 sensors.
*/ */
typedef struct { typedef struct {
spi_t spi; /**< SPI bus the sensor is connected to */ spi_t spi; /**< SPI bus the sensor is connected to */
@ -71,8 +71,10 @@ typedef struct {
bool high_res; /**< Sensor resolution, true if configured to 16 bit resolution */ bool high_res; /**< Sensor resolution, true if configured to 16 bit resolution */
} adt7310_t; } adt7310_t;
/** @name ADT7310 configuration bits */ /**
/** @{ */ * @name ADT7310 configuration bits
* @{
*/
#define ADT7310_CONF_FAULT_QUEUE_MASK (0x03) #define ADT7310_CONF_FAULT_QUEUE_MASK (0x03)
#define ADT7310_CONF_FAULT_QUEUE_SHIFT (0) #define ADT7310_CONF_FAULT_QUEUE_SHIFT (0)
#define ADT7310_CONF_FAULT_QUEUE(x) (((x) << ADT7310_CONF_FAULT_QUEUE_SHIFT) & ADT7310_CONF_FAULT_QUEUE_MASK) #define ADT7310_CONF_FAULT_QUEUE(x) (((x) << ADT7310_CONF_FAULT_QUEUE_SHIFT) & ADT7310_CONF_FAULT_QUEUE_MASK)
@ -92,18 +94,26 @@ typedef struct {
#define ADT7310_CONF_RESOLUTION_SHIFT (7) #define ADT7310_CONF_RESOLUTION_SHIFT (7)
#define ADT7310_CONF_RESOLUTION(x) (((x) << ADT7310_CONF_RESOLUTION_SHIFT) & ADT7310_CONF_RESOLUTION_MASK) #define ADT7310_CONF_RESOLUTION(x) (((x) << ADT7310_CONF_RESOLUTION_SHIFT) & ADT7310_CONF_RESOLUTION_MASK)
/** @brief Continuous operation mode */ /**
* @brief Continuous operation mode
*/
#define ADT7310_MODE_CONTINUOUS (ADT7310_CONF_OPERATION_MODE(0)) #define ADT7310_MODE_CONTINUOUS (ADT7310_CONF_OPERATION_MODE(0))
/** @brief One shot */ /**
* @brief One shot
*/
#define ADT7310_MODE_ONE_SHOT (ADT7310_CONF_OPERATION_MODE(1)) #define ADT7310_MODE_ONE_SHOT (ADT7310_CONF_OPERATION_MODE(1))
/** @brief 1 sample per second */ /**
* @brief 1 sample per second
*/
#define ADT7310_MODE_1SPS (ADT7310_CONF_OPERATION_MODE(2)) #define ADT7310_MODE_1SPS (ADT7310_CONF_OPERATION_MODE(2))
/** @brief Shut down (powersave) */ /**
* @brief Shut down (powersave)
*/
#define ADT7310_MODE_SHUTDOWN (ADT7310_CONF_OPERATION_MODE(3)) #define ADT7310_MODE_SHUTDOWN (ADT7310_CONF_OPERATION_MODE(3))
/** @} */ /** @} */
/** /**
* @brief Set configuration register of an ADT7310 sensor * @brief Set configuration register of an ADT7310 sensor
* *
* @param[in] dev pointer to sensor device descriptor * @param[in] dev pointer to sensor device descriptor
* @param[in] config configuration byte, see macros in adt7310.h * @param[in] config configuration byte, see macros in adt7310.h
@ -114,7 +124,7 @@ typedef struct {
int adt7310_set_config(adt7310_t *dev, uint8_t config); int adt7310_set_config(adt7310_t *dev, uint8_t config);
/** /**
* @brief Initialize the ADT7310 sensor driver. * @brief Initialize the ADT7310 sensor driver.
* *
* @note The SPI bus is expected to have been initialized when adt7310_init is called. * @note The SPI bus is expected to have been initialized when adt7310_init is called.
* *
@ -129,7 +139,7 @@ int adt7310_set_config(adt7310_t *dev, uint8_t config);
int adt7310_init(adt7310_t *dev, spi_t spi, spi_clk_t clk, gpio_t cs); int adt7310_init(adt7310_t *dev, spi_t spi, spi_clk_t clk, gpio_t cs);
/** /**
* @brief Read raw temperature register value * @brief Read raw temperature register value
* *
* @note The three least-significant bits of the value register are used for * @note The three least-significant bits of the value register are used for
* flags if the sensor is configured for 13 bit mode. * flags if the sensor is configured for 13 bit mode.
@ -142,7 +152,7 @@ int adt7310_init(adt7310_t *dev, spi_t spi, spi_clk_t clk, gpio_t cs);
int16_t adt7310_read_raw(const adt7310_t *dev); int16_t adt7310_read_raw(const adt7310_t *dev);
/** /**
* @brief Read temperature value from sensor and convert to milli-degrees Celsius. * @brief Read temperature value from sensor and convert to milli-degrees Celsius.
* *
* Divide the returned value by 1000 to get integer degrees. * Divide the returned value by 1000 to get integer degrees.
* *
@ -154,7 +164,7 @@ int16_t adt7310_read_raw(const adt7310_t *dev);
int32_t adt7310_read(const adt7310_t *dev); int32_t adt7310_read(const adt7310_t *dev);
/** /**
* @brief Read temperature value from sensor and convert to degrees Celsius. * @brief Read temperature value from sensor and convert to degrees Celsius.
* *
* @param[in] dev pointer to sensor device descriptor * @param[in] dev pointer to sensor device descriptor
* *

View File

@ -29,7 +29,7 @@ extern "C" {
#include "periph/gpio.h" #include "periph/gpio.h"
/** /**
* @brief Possible ADXL345 hardware addresses (wiring specific) * @brief Possible ADXL345 hardware addresses (wiring specific)
*/ */
enum { enum {
ADXL345_ADDR_1D = 0x1D, /**< I2C device address if Alt addr pin is high */ ADXL345_ADDR_1D = 0x1D, /**< I2C device address if Alt addr pin is high */
@ -37,7 +37,7 @@ enum {
}; };
/** /**
* @brief List ADXL345 power mode * @brief List ADXL345 power mode
*/ */
enum { enum {
ADXL345_MEASURE_MODE, ADXL345_MEASURE_MODE,
@ -47,7 +47,7 @@ enum {
}; };
/** /**
* @brief Define ADXL345 sensitivity * @brief Define ADXL345 sensitivity
*/ */
enum { enum {
ADXL345_RANGE_2G = 1, /**< +/- 2 g Full Scale Rang */ ADXL345_RANGE_2G = 1, /**< +/- 2 g Full Scale Rang */
@ -57,7 +57,7 @@ enum {
}; };
/** /**
* @brief List bandwidth rate * @brief List bandwidth rate
*/ */
enum { enum {
ADXL345_RATE_0HZ1 = 0, /**< 0.1 Hz Output Data Rate */ ADXL345_RATE_0HZ1 = 0, /**< 0.1 Hz Output Data Rate */
@ -79,7 +79,7 @@ enum {
}; };
/** /**
* @brief List fifo mode * @brief List fifo mode
*/ */
enum { enum {
BYPASS = 0, /**< FIFO bypass mode */ BYPASS = 0, /**< FIFO bypass mode */
@ -87,8 +87,9 @@ enum {
STREAM = 2, /**< FIFO stream mode */ STREAM = 2, /**< FIFO stream mode */
TRIGGER = 3 /**< FIFO trigger mode */ TRIGGER = 3 /**< FIFO trigger mode */
}; };
/** /**
* @brief Output Interrupt selection * @brief Output Interrupt selection
*/ */
enum { enum {
INT1, /**< Output interrupt on INT1 pin */ INT1, /**< Output interrupt on INT1 pin */
@ -107,7 +108,7 @@ enum {
}; };
/** /**
* @brief ADXL345 result vector struct * @brief ADXL345 result vector struct
*/ */
typedef struct { typedef struct {
int16_t x; /**< X-Axis measurement result */ int16_t x; /**< X-Axis measurement result */
@ -116,7 +117,7 @@ typedef struct {
} adxl345_data_t; } adxl345_data_t;
/** /**
* @brief Interrupt configuration struct for the ADXL345 sensor * @brief Interrupt configuration struct for the ADXL345 sensor
*/ */
typedef struct { typedef struct {
uint8_t source; /**< Source of interrupts */ uint8_t source; /**< Source of interrupts */
@ -136,7 +137,7 @@ typedef struct {
} adxl345_interrupt_t; } adxl345_interrupt_t;
/** /**
* @brief Configuration struct for the ADXL345 sensor * @brief Configuration struct for the ADXL345 sensor
*/ */
typedef struct { typedef struct {
gpio_t int1; /**< accelerometer int1 pin */ gpio_t int1; /**< accelerometer int1 pin */
@ -148,7 +149,7 @@ typedef struct {
} adxl345_params_t; } adxl345_params_t;
/** /**
* @brief Device descriptor for the ADXL345 sensor * @brief Device descriptor for the ADXL345 sensor
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device which is used */ i2c_t i2c; /**< I2C device which is used */

View File

@ -33,7 +33,7 @@ extern "C" {
#endif #endif
/** /**
* @name AT30TSE75x I2C addresses * @name AT30TSE75x I2C addresses
* @{ * @{
*/ */
#define AT30TSE75X_TEMP_ADDR (0x48) #define AT30TSE75X_TEMP_ADDR (0x48)
@ -41,7 +41,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name AT30TSE75x register addresses * @name AT30TSE75x register addresses
* @{ * @{
*/ */
#define AT30TSE75X_REG__TEMPERATURE (0x00) #define AT30TSE75X_REG__TEMPERATURE (0x00)
@ -54,7 +54,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name AT30TSE75x number formatting * @name AT30TSE75x number formatting
* @{ * @{
*/ */
#define AT30TSE75X_INTEGER_MASK (0x00ff) #define AT30TSE75X_INTEGER_MASK (0x00ff)
@ -66,7 +66,7 @@ extern "C" {
/** /**
* @name AT30TSE75x configuration register * @name AT30TSE75x configuration register
* *
* Only upper byte can be read/written, so treat as 8-bit register. * Only upper byte can be read/written, so treat as 8-bit register.
* @{ * @{
@ -82,7 +82,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name AT30TSE75x commands * @name AT30TSE75x commands
* *
* @{ * @{
*/ */
@ -93,7 +93,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name AT30TSE75x constants * @name AT30TSE75x constants
* *
* @{ * @{
*/ */
@ -102,18 +102,18 @@ extern "C" {
/** /**
* @name AT30TSE75x configuration types * @name AT30TSE75x configuration types
*
* @brief Temperature resolution
*
* @{ * @{
*/ */
/**
* @brief Temperature resolution
*/
typedef enum { typedef enum {
AT30TSE75X_RESOLUTION_9BIT = 0, AT30TSE75X_RESOLUTION_9BIT = 0,
AT30TSE75X_RESOLUTION_10BIT = 1, AT30TSE75X_RESOLUTION_10BIT = 1,
AT30TSE75X_RESOLUTION_11BIT = 2, AT30TSE75X_RESOLUTION_11BIT = 2,
AT30TSE75X_RESOLUTION_12BIT = 3 AT30TSE75X_RESOLUTION_12BIT = 3
} at30tse75x_resolution_t; } at30tse75x_resolution_t;
/** @} */
/** /**
* @brief Operation mode * @brief Operation mode
@ -122,18 +122,15 @@ typedef enum {
* is effectively shutdown and only wakes up to perform a single measurement. * is effectively shutdown and only wakes up to perform a single measurement.
* When in comparator or interrupt mode, the device samples contiously the * When in comparator or interrupt mode, the device samples contiously the
* temperature and sets the ALERT pin according to the chosen mode. * temperature and sets the ALERT pin according to the chosen mode.
* @{
*/ */
typedef enum { typedef enum {
AT30TSE75X_MODE_COMPARATOR, AT30TSE75X_MODE_COMPARATOR,
AT30TSE75X_MODE_INTERRUPT, AT30TSE75X_MODE_INTERRUPT,
AT30TSE75X_MODE_ONE_SHOT AT30TSE75X_MODE_ONE_SHOT
} at30tse75x_mode_t; } at30tse75x_mode_t;
/** @} */
/** /**
* @brief After how many limit exceeding measurements the ALERT pin is set * @brief After how many limit exceeding measurements the ALERT pin is set
* @{
*/ */
typedef enum { typedef enum {
AT30TSE75X_ALARM_AFTER_1 = 0, AT30TSE75X_ALARM_AFTER_1 = 0,
@ -141,27 +138,24 @@ typedef enum {
AT30TSE75X_ALARM_AFTER_4 = 2, AT30TSE75X_ALARM_AFTER_4 = 2,
AT30TSE75X_ALARM_AFTER_6 = 3 AT30TSE75X_ALARM_AFTER_6 = 3
} at30tse75x_fault_tolerance_t; } at30tse75x_fault_tolerance_t;
/** @} */
/** /**
* @brief Polarity of the ALERT pin * @brief Polarity of the ALERT pin
* @{
*/ */
typedef enum { typedef enum {
AT30TSE75X_ALARM_ACTIVE_LOW, AT30TSE75X_ALARM_ACTIVE_LOW,
AT30TSE75X_ALARM_ACTIVE_HIGH AT30TSE75X_ALARM_ACTIVE_HIGH
} at30tse75x_alarm_polatity_t; } at30tse75x_alarm_polatity_t;
/** @} */
/** @} */ /* AT30TSE75x configuration types */
/** /**
* @brief Device descriptor for a AT30TSE75x device * @brief Device descriptor for a AT30TSE75x device
* @{
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device that sensor is connected to */ i2c_t i2c; /**< I2C device that sensor is connected to */
uint8_t addr; /**< I2C address of this particular sensor */ uint8_t addr; /**< I2C address of this particular sensor */
} at30tse75x_t; } at30tse75x_t;
/** @} */
/** /**
* @brief Initialize a AT30TSE75x device * @brief Initialize a AT30TSE75x device
@ -308,5 +302,5 @@ int at30tse75x_get_temperature(const at30tse75x_t* dev, float* temperature);
} }
#endif #endif
/** @} */
#endif /* AT30TSE75X_H */ #endif /* AT30TSE75X_H */
/** @} */

View File

@ -49,7 +49,7 @@ extern "C" {
#define AT86RF2XX_MAX_PKT_LENGTH (IEEE802154_FRAME_LEN_MAX) #define AT86RF2XX_MAX_PKT_LENGTH (IEEE802154_FRAME_LEN_MAX)
/** /**
* @brief Channel configuration * @name Channel configuration
* @{ * @{
*/ */
#ifdef MODULE_AT86RF212B #ifdef MODULE_AT86RF212B
@ -92,7 +92,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Flags for device internal states (see datasheet) * @name Flags for device internal states (see datasheet)
* @{ * @{
*/ */
#define AT86RF2XX_STATE_P_ON (0x00) /**< initial power on */ #define AT86RF2XX_STATE_P_ON (0x00) /**< initial power on */
@ -108,7 +108,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Internal device option flags * @name Internal device option flags
* *
* `0x00ff` is reserved for general IEEE 802.15.4 flags * `0x00ff` is reserved for general IEEE 802.15.4 flags
* (see @ref netdev_ieee802154_t) * (see @ref netdev_ieee802154_t)
@ -134,7 +134,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief struct holding all params needed for device initialization * @brief struct holding all params needed for device initialization
*/ */
typedef struct at86rf2xx_params { typedef struct at86rf2xx_params {
spi_t spi; /**< SPI bus the device is connected to */ spi_t spi; /**< SPI bus the device is connected to */
@ -152,10 +152,7 @@ typedef struct at86rf2xx_params {
*/ */
typedef struct { typedef struct {
netdev_ieee802154_t netdev; /**< netdev parent struct */ netdev_ieee802154_t netdev; /**< netdev parent struct */
/** /* device specific fields */
* @brief device specific fields
* @{
*/
at86rf2xx_params_t params; /**< parameters for initialization */ at86rf2xx_params_t params; /**< parameters for initialization */
uint8_t state; /**< current state of the radio */ uint8_t state; /**< current state of the radio */
uint8_t tx_frame_len; /**< length of the current TX frame */ uint8_t tx_frame_len; /**< length of the current TX frame */
@ -167,7 +164,6 @@ typedef struct {
uint8_t pending_tx; /**< keep track of pending TX calls uint8_t pending_tx; /**< keep track of pending TX calls
this is required to know when to this is required to know when to
return to @ref at86rf2xx_t::idle_state */ return to @ref at86rf2xx_t::idle_state */
/** @} */
} at86rf2xx_t; } at86rf2xx_t;
/** /**

View File

@ -28,7 +28,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Possible I2C bus addresses of the device * @name Possible I2C bus addresses of the device
* *
* The actual address of the device depends on the state of the ADDR pin. * The actual address of the device depends on the state of the ADDR pin.
* @{ * @{
@ -37,7 +37,6 @@ extern "C" {
#define BH1750FVI_ADDR_PIN_HIGH (0x23) /**< ADDR pin := 1 */ #define BH1750FVI_ADDR_PIN_HIGH (0x23) /**< ADDR pin := 1 */
/** @} */ /** @} */
/** /**
* @brief Default address of BH1750FVI sensors * @brief Default address of BH1750FVI sensors
*/ */

View File

@ -29,8 +29,7 @@ extern "C" {
#endif #endif
/** /**
* @name Oversampling modes * @brief Oversampling modes
* @{
*/ */
typedef enum { typedef enum {
BMP180_ULTRALOWPOWER = 0, BMP180_ULTRALOWPOWER = 0,
@ -38,10 +37,9 @@ typedef enum {
BMP180_HIGHRES, BMP180_HIGHRES,
BMP180_ULTRAHIGHRES BMP180_ULTRAHIGHRES
} bmp180_oversampling_mode_t; } bmp180_oversampling_mode_t;
/** @} */
/** /**
* @brief Calibration struct for the BMP180 sensor * @brief Calibration struct for the BMP180 sensor
*/ */
typedef struct { typedef struct {
int16_t ac1; /**< ac1 coefficient */ int16_t ac1; /**< ac1 coefficient */
@ -58,7 +56,7 @@ typedef struct {
} bmp180_calibration_t; } bmp180_calibration_t;
/** /**
* @brief Device initialization parameters * @brief Device initialization parameters
*/ */
typedef struct { typedef struct {
i2c_t i2c_dev; /**< I2C device which is used */ i2c_t i2c_dev; /**< I2C device which is used */
@ -67,7 +65,7 @@ typedef struct {
} bmp180_params_t; } bmp180_params_t;
/** /**
* @brief Device descriptor for the BMP180 sensor * @brief Device descriptor for the BMP180 sensor
*/ */
typedef struct { typedef struct {
bmp180_params_t params; /**< Device initialization parameters */ bmp180_params_t params; /**< Device initialization parameters */
@ -85,7 +83,7 @@ enum {
}; };
/** /**
* @brief Initialize the given BMP180 device * @brief Initialize the given BMP180 device
* *
* @param[out] dev Initialized device descriptor of BMP180 device * @param[out] dev Initialized device descriptor of BMP180 device
* @param[in] params Initialization parameters * @param[in] params Initialization parameters
@ -98,7 +96,7 @@ enum {
int bmp180_init(bmp180_t *dev, const bmp180_params_t *params); int bmp180_init(bmp180_t *dev, const bmp180_params_t *params);
/** /**
* @brief Read temperature value from the given BMP180 device, returned in d°C * @brief Read temperature value from the given BMP180 device, returned in d°C
* *
* @param[in] dev Device descriptor of BMP180 device to read from * @param[in] dev Device descriptor of BMP180 device to read from
* *
@ -107,7 +105,7 @@ int bmp180_init(bmp180_t *dev, const bmp180_params_t *params);
int16_t bmp180_read_temperature(const bmp180_t *dev); int16_t bmp180_read_temperature(const bmp180_t *dev);
/** /**
* @brief Read pressure value from the given BMP180 device, returned in Pa * @brief Read pressure value from the given BMP180 device, returned in Pa
* *
* @param[in] dev Device descriptor of BMP180 device to read from * @param[in] dev Device descriptor of BMP180 device to read from
* *
@ -116,7 +114,7 @@ int16_t bmp180_read_temperature(const bmp180_t *dev);
uint32_t bmp180_read_pressure(const bmp180_t *dev); uint32_t bmp180_read_pressure(const bmp180_t *dev);
/** /**
* @brief Compute altitude, returned in m. * @brief Compute altitude, returned in m.
* *
* @param[in] dev Device descriptor of BMP180 device to read from * @param[in] dev Device descriptor of BMP180 device to read from
* @param[in] pressure_0 The pressure at sea level in Pa * @param[in] pressure_0 The pressure at sea level in Pa
@ -126,7 +124,7 @@ uint32_t bmp180_read_pressure(const bmp180_t *dev);
int16_t bmp180_altitude(const bmp180_t *dev, uint32_t pressure_0); int16_t bmp180_altitude(const bmp180_t *dev, uint32_t pressure_0);
/** /**
* @brief Compute pressure at sea level, returned in Pa. * @brief Compute pressure at sea level, returned in Pa.
* *
* @param[in] dev Device descriptor of BMP180 device to read from * @param[in] dev Device descriptor of BMP180 device to read from
* @param[in] altitude Altitude in m * @param[in] altitude Altitude in m

View File

@ -48,7 +48,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Calibration struct for the BMX280 sensor * @brief Calibration struct for the BMX280 sensor
* *
* This must be read from the device at startup. * This must be read from the device at startup.
*/ */
@ -76,7 +76,7 @@ typedef struct {
} bmx280_calibration_t; } bmx280_calibration_t;
/** /**
* @brief Values for t_sb field of the BMX280 config register * @brief Values for t_sb field of the BMX280 config register
*/ */
typedef enum { typedef enum {
BMX280_SB_0_5 = 0, BMX280_SB_0_5 = 0,
@ -90,7 +90,7 @@ typedef enum {
} bmx280_t_sb_t; } bmx280_t_sb_t;
/** /**
* @brief Values for filter field of the BMX280 config register * @brief Values for filter field of the BMX280 config register
*/ */
typedef enum { typedef enum {
BMX280_FILTER_OFF = 0, BMX280_FILTER_OFF = 0,
@ -101,7 +101,7 @@ typedef enum {
} bmx280_filter_t; } bmx280_filter_t;
/** /**
* @brief Values for mode field of the BMX280 ctrl_meas register * @brief Values for mode field of the BMX280 ctrl_meas register
*/ */
typedef enum { typedef enum {
BMX280_MODE_SLEEP = 0, BMX280_MODE_SLEEP = 0,
@ -111,7 +111,7 @@ typedef enum {
} bmx280_mode_t; } bmx280_mode_t;
/** /**
* @brief Values for oversampling settings * @brief Values for oversampling settings
* *
* These values are used for: * These values are used for:
* - osrs_h field of the BME280 ctrl_hum register * - osrs_h field of the BME280 ctrl_hum register
@ -128,7 +128,7 @@ typedef enum {
} bmx280_osrs_t; } bmx280_osrs_t;
/** /**
* @brief Parameters for the BMX280 sensor * @brief Parameters for the BMX280 sensor
* *
* These parameters are needed to configure the device at startup. * These parameters are needed to configure the device at startup.
*/ */
@ -152,7 +152,7 @@ typedef struct {
} bmx280_params_t; } bmx280_params_t;
/** /**
* @brief Device descriptor for the BMX280 sensor * @brief Device descriptor for the BMX280 sensor
*/ */
typedef struct { typedef struct {
bmx280_params_t params; /**< Device Parameters */ bmx280_params_t params; /**< Device Parameters */
@ -170,7 +170,7 @@ enum {
}; };
/** /**
* @brief Initialize the given BMX280 device * @brief Initialize the given BMX280 device
* *
* @param[out] dev Initialized device descriptor of BMX280 device * @param[out] dev Initialized device descriptor of BMX280 device
* @param[in] params The parameters for the BMX280 device (sampling rate, etc) * @param[in] params The parameters for the BMX280 device (sampling rate, etc)
@ -183,7 +183,7 @@ enum {
int bmx280_init(bmx280_t* dev, const bmx280_params_t* params); int bmx280_init(bmx280_t* dev, const bmx280_params_t* params);
/** /**
* @brief Read temperature value from the given BMX280 device, returned in centi °C * @brief Read temperature value from the given BMX280 device, returned in centi °C
* *
* @param[in] dev Device descriptor of BMX280 device to read from * @param[in] dev Device descriptor of BMX280 device to read from
* *
@ -193,7 +193,7 @@ int bmx280_init(bmx280_t* dev, const bmx280_params_t* params);
int16_t bmx280_read_temperature(const bmx280_t* dev); int16_t bmx280_read_temperature(const bmx280_t* dev);
/** /**
* @brief Read air pressure value from the given BMX280 device, returned in PA * @brief Read air pressure value from the given BMX280 device, returned in PA
* *
* @details This function should only be called after doing bmx280_read_temperature * @details This function should only be called after doing bmx280_read_temperature
* first. * first.
@ -206,7 +206,7 @@ uint32_t bmx280_read_pressure(const bmx280_t *dev);
#if defined(MODULE_BME280) #if defined(MODULE_BME280)
/** /**
* @brief Read humidity value from the given BME280 device, returned in centi %RH * @brief Read humidity value from the given BME280 device, returned in centi %RH
* *
* @details This function should only be called after doing bmx280_read_temperature * @details This function should only be called after doing bmx280_read_temperature
* first. It's only available with BME280 sensor. * first. It's only available with BME280 sensor.

View File

@ -30,7 +30,7 @@ extern "C" {
#include "net/gnrc/nettype.h" #include "net/gnrc/nettype.h"
/** /**
* @brief Struct for holding cc110x IO parameters * @brief Struct for holding cc110x IO parameters
*/ */
typedef struct cc110x_params { typedef struct cc110x_params {
spi_t spi; /**< what */ spi_t spi; /**< what */
@ -41,12 +41,12 @@ typedef struct cc110x_params {
} cc110x_params_t; } cc110x_params_t;
/** /**
* @brief forward declaration * @brief Forward declaration
*/ */
typedef struct cc110x cc110x_t; typedef struct cc110x cc110x_t;
/** /**
* @brief Struct for holding cc110x device state * @brief Struct for holding cc110x device state
*/ */
struct cc110x { struct cc110x {
cc110x_params_t params; /**< cc110x IO configuration */ cc110x_params_t params; /**< cc110x IO configuration */
@ -67,7 +67,7 @@ struct cc110x {
}; };
/** /**
* @brief Setup cc110x device parameters * @brief Setup cc110x device parameters
* *
* @param[in] dev device struct to set up * @param[in] dev device struct to set up
* @param[in] params struct holding parameters * @param[in] params struct holding parameters
@ -77,7 +77,7 @@ struct cc110x {
int cc110x_setup(cc110x_t *dev, const cc110x_params_t *params); int cc110x_setup(cc110x_t *dev, const cc110x_params_t *params);
/** /**
* @brief Set cc110x channel number * @brief Set cc110x channel number
* *
* @param[in] dev device to work on * @param[in] dev device to work on
* @param[in] channr guess what * @param[in] channr guess what
@ -89,7 +89,7 @@ int16_t cc110x_set_channel(cc110x_t *dev, uint8_t channr);
/** /**
* @brief Send raw cc110x packet * @brief Send raw cc110x packet
* *
* @param[in] dev Device to send on * @param[in] dev Device to send on
* @param[in] packet ptr to packet to be sent * @param[in] packet ptr to packet to be sent
@ -100,7 +100,7 @@ int16_t cc110x_set_channel(cc110x_t *dev, uint8_t channr);
int cc110x_send(cc110x_t *dev, cc110x_pkt_t *packet); int cc110x_send(cc110x_t *dev, cc110x_pkt_t *packet);
/** /**
* @brief Set cc110x radio address * @brief Set cc110x radio address
* *
* @param[in] dev device to query * @param[in] dev device to query
* *
@ -109,7 +109,7 @@ int cc110x_send(cc110x_t *dev, cc110x_pkt_t *packet);
uint8_t cc110x_get_address(cc110x_t *dev); uint8_t cc110x_get_address(cc110x_t *dev);
/** /**
* @brief Set cc110x radio address * @brief Set cc110x radio address
* *
* @param[in] dev device to work on * @param[in] dev device to work on
* @param[in] address new address * @param[in] address new address
@ -121,7 +121,7 @@ uint8_t cc110x_set_address(cc110x_t *dev, uint8_t address);
/** /**
* @brief Set cc110x monitor mode setting * @brief Set cc110x monitor mode setting
* *
* @param[in] dev device to work on * @param[in] dev device to work on
* @param[in] mode mode to set (0 or 1) * @param[in] mode mode to set (0 or 1)

View File

@ -44,7 +44,7 @@ extern "C" {
#define CC2420_PANID_DEFAULT (IEEE802154_DEFAULT_PANID) #define CC2420_PANID_DEFAULT (IEEE802154_DEFAULT_PANID)
/** /**
* @brief Channel configuration * @name Channel configuration
* @{ * @{
*/ */
#define CC2420_CHAN_MIN (IEEE802154_CHANNEL_MIN) #define CC2420_CHAN_MIN (IEEE802154_CHANNEL_MIN)
@ -53,7 +53,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Default TX power configuration [in dBm] * @name Default TX power configuration [in dBm]
* @{ * @{
*/ */
#define CC2420_TXPOWER_MIN (-25) #define CC2420_TXPOWER_MIN (-25)
@ -70,7 +70,6 @@ enum {
/** /**
* @brief Struct holding all parameters needed for device initialization * @brief Struct holding all parameters needed for device initialization
* @{
*/ */
typedef struct cc2420_params { typedef struct cc2420_params {
spi_t spi; /**< SPI bus the device is connected to */ spi_t spi; /**< SPI bus the device is connected to */
@ -83,11 +82,9 @@ typedef struct cc2420_params {
gpio_t pin_vrefen; /**< pin connected to the Vref enable pin */ gpio_t pin_vrefen; /**< pin connected to the Vref enable pin */
gpio_t pin_reset; /**< pin connected to the reset pin */ gpio_t pin_reset; /**< pin connected to the reset pin */
} cc2420_params_t; } cc2420_params_t;
/** @} */
/** /**
* @brief Device descriptor for CC2420 radio devices * @brief Device descriptor for CC2420 radio devices
* @{
*/ */
typedef struct { typedef struct {
/* netdev fields */ /* netdev fields */
@ -98,7 +95,6 @@ typedef struct {
uint8_t state; /**< current state of the radio */ uint8_t state; /**< current state of the radio */
uint16_t options; /**< state of used options */ uint16_t options; /**< state of used options */
} cc2420_t; } cc2420_t;
/** @} */
/** /**
* @brief Setup the device descriptor for the given device * @brief Setup the device descriptor for the given device

View File

@ -37,7 +37,7 @@ extern "C" {
#endif #endif
/** /**
* @brief possible return codes * @brief Possible return codes
*/ */
enum { enum {
DHT_OK = 0, /**< all good */ DHT_OK = 0, /**< all good */
@ -46,7 +46,7 @@ enum {
}; };
/** /**
* @brief data type for storing DHT sensor readings * @brief Data type for storing DHT sensor readings
*/ */
typedef struct { typedef struct {
uint16_t humidity; /**< relative deca-humidity */ uint16_t humidity; /**< relative deca-humidity */
@ -54,7 +54,7 @@ typedef struct {
} dht_data_t; } dht_data_t;
/** /**
* @brief device type of the DHT device * @brief Device type of the DHT device
*/ */
typedef enum { typedef enum {
DHT11, /**< DHT11 device identifier */ DHT11, /**< DHT11 device identifier */
@ -63,7 +63,7 @@ typedef enum {
} dht_type_t; } dht_type_t;
/** /**
* @brief device descriptor for DHT sensor devices * @brief Device descriptor for DHT sensor devices
*/ */
typedef struct { typedef struct {
gpio_t pin; /**< GPIO pin of the device's data pin */ gpio_t pin; /**< GPIO pin of the device's data pin */
@ -73,12 +73,12 @@ typedef struct {
} dht_t; } dht_t;
/** /**
* @brief configuration parameters for DHT devices * @brief Configuration parameters for DHT devices
*/ */
typedef dht_t dht_params_t; typedef dht_t dht_params_t;
/** /**
* @brief initialize a new DHT device * @brief Initialize a new DHT device
* *
* @param[out] dev device descriptor of a DHT device * @param[out] dev device descriptor of a DHT device
* @param[in] params configuration parameters * @param[in] params configuration parameters

View File

@ -31,7 +31,7 @@ extern "C" {
/* These functions are defined in asmfunc.S */ /* These functions are defined in asmfunc.S */
/** /**
* @brief Copy aligned to unaligned * @brief Copy aligned to unaligned
* *
* @param[out] dst Pointer to unaligned destination address * @param[out] dst Pointer to unaligned destination address
* @param[in] src Pointer to aligned source address * @param[in] src Pointer to aligned source address
@ -40,7 +40,7 @@ extern "C" {
void copy_al2un(unsigned char *dst, const unsigned long *src, int count); void copy_al2un(unsigned char *dst, const unsigned long *src, int count);
/** /**
* @brief Copy unaligned to aligned * @brief Copy unaligned to aligned
* *
* @param[out] dst Pointer to unaligned destination address * @param[out] dst Pointer to unaligned destination address
* @param[in] src Pointer to aligned source address * @param[in] src Pointer to aligned source address
@ -59,18 +59,16 @@ typedef enum {
} diskio_result_t; } diskio_result_t;
/** /**
* @name Disk Status Bits * @brief Disk Status Bits
* @{
*/ */
typedef enum { typedef enum {
DISKIO_STA_NOINIT = 0x01, /**< Drive not initialized */ DISKIO_STA_NOINIT = 0x01, /**< Drive not initialized */
DISKIO_STA_NODISK = 0x02, /**< No medium in the drive */ DISKIO_STA_NODISK = 0x02, /**< No medium in the drive */
DISKIO_STA_PROTECT = 0x04 /**< Write protected */ DISKIO_STA_PROTECT = 0x04 /**< Write protected */
} diskio_sta_t; } diskio_sta_t;
/** @} */
/** /**
* @name Command code for disk_ioctrl fucntion * @name Command code for disk_ioctrl fucntion
* @{ * @{
*/ */
@ -86,7 +84,7 @@ typedef enum {
/** @} */ /** @} */
/** /**
* @name Generic ioctl command * @name Generic ioctl command
* @{ * @{
*/ */
#define CTRL_POWER 5 /**< Get/Set power status */ #define CTRL_POWER 5 /**< Get/Set power status */
@ -95,7 +93,7 @@ typedef enum {
/** @} */ /** @} */
/** /**
* @name MMC/SDC specific ioctl command * @name MMC/SDC specific ioctl command
* @{ * @{
*/ */
#define MMC_GET_TYPE 10 /**< Get card type */ #define MMC_GET_TYPE 10 /**< Get card type */
@ -109,7 +107,7 @@ typedef enum {
/** /**
* @brief Initialize media control interface (MCI) * @brief Initialize media control interface (MCI)
* *
* @returns 0 on success * @returns 0 on success
* @returns a @ref diskio_sta_t value on error * @returns a @ref diskio_sta_t value on error
@ -117,7 +115,7 @@ typedef enum {
diskio_sta_t mci_initialize(void); diskio_sta_t mci_initialize(void);
/** /**
* @brief Get the status of the media control interface (MCI) * @brief Get the status of the media control interface (MCI)
* *
* @returns 0 on success * @returns 0 on success
* @returns a @ref diskio_sta_t value on error * @returns a @ref diskio_sta_t value on error
@ -125,7 +123,7 @@ diskio_sta_t mci_initialize(void);
diskio_sta_t mci_status(void); diskio_sta_t mci_status(void);
/** /**
* @brief Read sectors over the media control interface (MCI) * @brief Read sectors over the media control interface (MCI)
* *
* @param[out] buff Pointer to the data buffer to store read data * @param[out] buff Pointer to the data buffer to store read data
* @param[in] sector Start sector number (LBA) * @param[in] sector Start sector number (LBA)
@ -137,7 +135,7 @@ diskio_sta_t mci_status(void);
diskio_result_t mci_read(unsigned char *buff, unsigned long sector, unsigned char count); diskio_result_t mci_read(unsigned char *buff, unsigned long sector, unsigned char count);
/** /**
* @brief Write sectors over the media control interface (MCI) * @brief Write sectors over the media control interface (MCI)
* @param[in] buff Pointer to the data to be written * @param[in] buff Pointer to the data to be written
* @param[in] sector Start sector number (LBA) * @param[in] sector Start sector number (LBA)
* @param[in] count Sector count (1..127) * @param[in] count Sector count (1..127)
@ -148,7 +146,7 @@ diskio_result_t mci_read(unsigned char *buff, unsigned long sector, unsigned cha
diskio_result_t mci_write(const unsigned char *buff, unsigned long sector, unsigned char count); diskio_result_t mci_write(const unsigned char *buff, unsigned long sector, unsigned char count);
/** /**
* @brief IOCTL functions for the media control interface (MCI) * @brief IOCTL functions for the media control interface (MCI)
* *
* @param[in] ctrl Control code * @param[in] ctrl Control code
* @param[in,out] buff Buffer to send/receive data block * @param[in,out] buff Buffer to send/receive data block
@ -162,5 +160,5 @@ diskio_result_t mci_ioctl(unsigned char ctrl, void *buff);
} }
#endif #endif
/** @} */
#endif /* DISKIO_H */ #endif /* DISKIO_H */
/** @} */

View File

@ -31,8 +31,7 @@ extern "C" {
#endif #endif
/** /**
* @name Return codes * @brief Return codes
* @{
*/ */
enum { enum {
DSP0401_OK = 0, /**< All ok */ DSP0401_OK = 0, /**< All ok */
@ -41,10 +40,9 @@ enum {
DSP0401_ERR_LAT_GPIO, /**< Something went wrong with LAT GPIO */ DSP0401_ERR_LAT_GPIO, /**< Something went wrong with LAT GPIO */
DSP0401_ERR_PWM, /**< Something went wrong with PWM */ DSP0401_ERR_PWM, /**< Something went wrong with PWM */
}; };
/** @} */
/** /**
* @brief Device initialization parameters * @brief Device initialization parameters
*/ */
typedef struct { typedef struct {
gpio_t sdi; /**< Data input pin */ gpio_t sdi; /**< Data input pin */
@ -57,14 +55,14 @@ typedef struct {
} dsp0401_params_t; } dsp0401_params_t;
/** /**
* @brief Device descriptor for the DSP0401 * @brief Device descriptor for the DSP0401
*/ */
typedef struct { typedef struct {
dsp0401_params_t params; /**< Device parameters */ dsp0401_params_t params; /**< Device parameters */
} dsp0401_t; } dsp0401_t;
/** /**
* @brief Initialize the given DSP0401 * @brief Initialize the given DSP0401
* *
* @param[out] dev Initialized device descriptor of DSP0401 device * @param[out] dev Initialized device descriptor of DSP0401 device
* @param[in] params Device parameters to use * @param[in] params Device parameters to use
@ -78,7 +76,7 @@ typedef struct {
int dsp0401_init(dsp0401_t *dev, const dsp0401_params_t *params); int dsp0401_init(dsp0401_t *dev, const dsp0401_params_t *params);
/** /**
* @brief Display the given text on the DSP0401 * @brief Display the given text on the DSP0401
* *
* @param[in] dev Device descriptor of the DSP0401 device * @param[in] dev Device descriptor of the DSP0401 device
* @param[in] text The text to display * @param[in] text The text to display
@ -86,14 +84,14 @@ int dsp0401_init(dsp0401_t *dev, const dsp0401_params_t *params);
void dsp0401_display_text(const dsp0401_t *dev, char *text); void dsp0401_display_text(const dsp0401_t *dev, char *text);
/** /**
* @brief Clear the text displayed on the DSP0401 * @brief Clear the text displayed on the DSP0401
* *
* @param[in] dev Device descriptor of the DSP0401 device * @param[in] dev Device descriptor of the DSP0401 device
*/ */
void dsp0401_clear_text(const dsp0401_t *dev); void dsp0401_clear_text(const dsp0401_t *dev);
/** /**
* @brief Scroll the given text on the DSP0401 * @brief Scroll the given text on the DSP0401
* *
* @param[in] dev Device descriptor of the DSP0401 device * @param[in] dev Device descriptor of the DSP0401 device
* @param[in] text The text to scroll on the display * @param[in] text The text to scroll on the display

View File

@ -9,8 +9,8 @@
/** /**
* @defgroup drivers_dynamixel Dynamixel driver * @defgroup drivers_dynamixel Dynamixel driver
* @ingroup drivers_actuators * @ingroup drivers_actuators
* @brief Drivers for any device using dynamixel's servomotors communication bus
* *
* This module contains drivers for any device using dynamixel's servomotors communication bus.
* The bus is mainly used for servomotors, but a device can be anything : sensors, other actuators. * The bus is mainly used for servomotors, but a device can be anything : sensors, other actuators.
* *
* @{ * @{
@ -34,11 +34,11 @@
extern "C" { extern "C" {
#endif #endif
typedef uint8_t dynamixel_id_t; /**< device id type */ typedef uint8_t dynamixel_id_t; /**< device id type */
typedef uint16_t dynamixel_addr_t; /**< register address type */ typedef uint16_t dynamixel_addr_t; /**< register address type */
/** /**
* @brief Descriptor struct for a dynamixel device * @brief Descriptor struct for a dynamixel device
*/ */
typedef struct { typedef struct {
uart_half_duplex_t *stream; /**< the stream used */ uart_half_duplex_t *stream; /**< the stream used */
@ -56,7 +56,7 @@ enum {
}; };
/** /**
* @brief Send a PING message to a device * @brief Send a PING message to a device
* *
* @param[in] stream the stream * @param[in] stream the stream
* @param[in] id the device address * @param[in] id the device address
@ -69,7 +69,7 @@ enum {
int dynamixel_ping(uart_half_duplex_t *stream, dynamixel_id_t id); int dynamixel_ping(uart_half_duplex_t *stream, dynamixel_id_t id);
/** /**
* @brief Initialize a Dynamixel device * @brief Initialize a Dynamixel device
* *
* @param[out] device the Dynamixel device * @param[out] device the Dynamixel device
* @param[in] stream the stream * @param[in] stream the stream
@ -78,7 +78,7 @@ int dynamixel_ping(uart_half_duplex_t *stream, dynamixel_id_t id);
void dynamixel_init(dynamixel_t *device, uart_half_duplex_t *stream, dynamixel_id_t id); void dynamixel_init(dynamixel_t *device, uart_half_duplex_t *stream, dynamixel_id_t id);
/** /**
* @brief Write to a device 8bits register * @brief Write to a device 8bits register
* *
* @param[in] device the Dynamixel device * @param[in] device the Dynamixel device
* @param[in] reg the register to write * @param[in] reg the register to write
@ -92,7 +92,7 @@ void dynamixel_init(dynamixel_t *device, uart_half_duplex_t *stream, dynamixel_i
int dynamixel_write8(const dynamixel_t *device, dynamixel_addr_t reg, uint8_t value); int dynamixel_write8(const dynamixel_t *device, dynamixel_addr_t reg, uint8_t value);
/** /**
* @brief Write to a device 16bits register * @brief Write to a device 16bits register
* *
* @param[in] device the Dynamixel device * @param[in] device the Dynamixel device
* @param[in] reg the register to write * @param[in] reg the register to write
@ -106,7 +106,7 @@ int dynamixel_write8(const dynamixel_t *device, dynamixel_addr_t reg, uint8_t va
int dynamixel_write16(const dynamixel_t *device, dynamixel_addr_t reg, uint16_t value); int dynamixel_write16(const dynamixel_t *device, dynamixel_addr_t reg, uint16_t value);
/** /**
* @brief Write to a device address * @brief Write to a device address
* *
* @param[in] device the Dynamixel device * @param[in] device the Dynamixel device
* @param[in] reg the address to start write * @param[in] reg the address to start write
@ -121,7 +121,7 @@ int dynamixel_write16(const dynamixel_t *device, dynamixel_addr_t reg, uint16_t
int dynamixel_write(const dynamixel_t *device, dynamixel_addr_t reg, const uint8_t *data, size_t length); int dynamixel_write(const dynamixel_t *device, dynamixel_addr_t reg, const uint8_t *data, size_t length);
/** /**
* @brief Read from a device 8bits register * @brief Read from a device 8bits register
* *
* @param[in] device the Dynamixel device * @param[in] device the Dynamixel device
* @param[in] reg the register to read * @param[in] reg the register to read
@ -135,7 +135,7 @@ int dynamixel_write(const dynamixel_t *device, dynamixel_addr_t reg, const uint8
int dynamixel_read8(const dynamixel_t *device, dynamixel_addr_t reg, uint8_t *value); int dynamixel_read8(const dynamixel_t *device, dynamixel_addr_t reg, uint8_t *value);
/** /**
* @brief Read from a device 16bits register * @brief Read from a device 16bits register
* *
* @param[in] device the Dynamixel device * @param[in] device the Dynamixel device
* @param[in] reg the register to read * @param[in] reg the register to read
@ -149,7 +149,7 @@ int dynamixel_read8(const dynamixel_t *device, dynamixel_addr_t reg, uint8_t *va
int dynamixel_read16(const dynamixel_t *device, dynamixel_addr_t reg, uint16_t *value); int dynamixel_read16(const dynamixel_t *device, dynamixel_addr_t reg, uint16_t *value);
/** /**
* @brief Read from a device address * @brief Read from a device address
* *
* @param[in] device the Dynamixel device * @param[in] device the Dynamixel device
* @param[in] reg the address to start read * @param[in] reg the address to start read

View File

@ -32,7 +32,7 @@ extern "C" {
#endif #endif
/** /**
* @brief encx24j600 netdev device * @brief encx24j600 netdev device
* @extends netdev_t * @extends netdev_t
*/ */
typedef struct { typedef struct {
@ -53,7 +53,7 @@ typedef struct {
} encx24j600_params_t; } encx24j600_params_t;
/** /**
* @brief Setup an encx24j600 based device state. * @brief Setup an encx24j600 based device state.
* *
* This function sets SPI pins, initializes the device state structure. * This function sets SPI pins, initializes the device state structure.
* It does not initialize the device itself. * It does not initialize the device itself.

View File

@ -43,7 +43,7 @@ extern "C" {
#endif #endif
/** /**
* @name Escape char definitions * @name Escape char definitions
* @{ * @{
*/ */
#define ETHOS_FRAME_DELIMITER (0x7E) #define ETHOS_FRAME_DELIMITER (0x7E)
@ -55,7 +55,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief enum describing line state * @brief Enum describing line state
*/ */
typedef enum { typedef enum {
WAIT_FRAMESTART, WAIT_FRAMESTART,
@ -64,7 +64,7 @@ typedef enum {
} line_state_t; } line_state_t;
/** /**
* @brief ethos netdev device * @brief ethos netdev device
* @extends netdev_t * @extends netdev_t
*/ */
typedef struct { typedef struct {
@ -91,7 +91,7 @@ typedef struct {
} ethos_params_t; } ethos_params_t;
/** /**
* @brief Setup an ethos based device state. * @brief Setup an ethos based device state.
* *
* The supplied buffer *must* have a power-of-two size, and it *must* be large * The supplied buffer *must* have a power-of-two size, and it *must* be large
* enough for the largest expected packet + enough buffer space to buffer * enough for the largest expected packet + enough buffer space to buffer
@ -105,7 +105,7 @@ typedef struct {
void ethos_setup(ethos_t *dev, const ethos_params_t *params); void ethos_setup(ethos_t *dev, const ethos_params_t *params);
/** /**
* @brief send frame over serial port using ethos' framing * @brief Send frame over serial port using ethos' framing
* *
* This is used by e.g., stdio over ethos to send text frames. * This is used by e.g., stdio over ethos to send text frames.
* *

View File

@ -9,8 +9,8 @@
/** /**
* @defgroup drivers_feetech Feetech driver * @defgroup drivers_feetech Feetech driver
* @ingroup drivers_actuators * @ingroup drivers_actuators
* @brief Drivers for any device using feetech's servomotors communication bus.
* *
* This module contains drivers for any device using feetech's servomotors communication bus.
* The bus is mainly used for servomotors, but a device can be anything : sensors, other actuators. * The bus is mainly used for servomotors, but a device can be anything : sensors, other actuators.
* *
* @{ * @{
@ -37,7 +37,7 @@ typedef uint8_t feetech_id_t; /**< device id type */
typedef uint8_t feetech_addr_t; /**< address type */ typedef uint8_t feetech_addr_t; /**< address type */
/** /**
* @brief Descriptor struct for a feetech device * @brief Descriptor struct for a feetech device
*/ */
typedef struct { typedef struct {
uart_half_duplex_t *stream; /**< the stream used */ uart_half_duplex_t *stream; /**< the stream used */
@ -55,7 +55,7 @@ enum {
}; };
/** /**
* @brief Send a PING message to a device * @brief Send a PING message to a device
* *
* @param[in] stream the stream * @param[in] stream the stream
* @param[in] id the device address * @param[in] id the device address
@ -68,7 +68,7 @@ enum {
int feetech_ping(uart_half_duplex_t *stream, feetech_id_t id); int feetech_ping(uart_half_duplex_t *stream, feetech_id_t id);
/** /**
* @brief Initialize a Feetech device * @brief Initialize a Feetech device
* *
* @param[out] device the Feetech device * @param[out] device the Feetech device
* @param[in] stream the stream * @param[in] stream the stream
@ -77,7 +77,7 @@ int feetech_ping(uart_half_duplex_t *stream, feetech_id_t id);
void feetech_init(feetech_t *device, uart_half_duplex_t *stream, feetech_id_t id); void feetech_init(feetech_t *device, uart_half_duplex_t *stream, feetech_id_t id);
/** /**
* @brief Write to a device 8bits address * @brief Write to a device 8bits address
* *
* @param[in] device the Feetech device * @param[in] device the Feetech device
* @param[in] addr the address to write * @param[in] addr the address to write
@ -91,7 +91,7 @@ void feetech_init(feetech_t *device, uart_half_duplex_t *stream, feetech_id_t id
int feetech_write8(const feetech_t *device, feetech_addr_t addr, uint8_t value); int feetech_write8(const feetech_t *device, feetech_addr_t addr, uint8_t value);
/** /**
* @brief Write to a device 16bits address * @brief Write to a device 16bits address
* *
* @param[in] device the Feetech device * @param[in] device the Feetech device
* @param[in] addr the address to write * @param[in] addr the address to write
@ -105,7 +105,7 @@ int feetech_write8(const feetech_t *device, feetech_addr_t addr, uint8_t value);
int feetech_write16(const feetech_t *device, feetech_addr_t addr, uint16_t value); int feetech_write16(const feetech_t *device, feetech_addr_t addr, uint16_t value);
/** /**
* @brief Write to a device address * @brief Write to a device address
* *
* @param[in] device the Feetech device * @param[in] device the Feetech device
* @param[in] addr the address to start write * @param[in] addr the address to start write
@ -120,7 +120,7 @@ int feetech_write16(const feetech_t *device, feetech_addr_t addr, uint16_t value
int feetech_write(const feetech_t *device, feetech_addr_t addr, const uint8_t *data, size_t length); int feetech_write(const feetech_t *device, feetech_addr_t addr, const uint8_t *data, size_t length);
/** /**
* @brief Read from a device 8bits address * @brief Read from a device 8bits address
* *
* @param[in] device the Feetech device * @param[in] device the Feetech device
* @param[in] addr the address to read * @param[in] addr the address to read
@ -134,7 +134,7 @@ int feetech_write(const feetech_t *device, feetech_addr_t addr, const uint8_t *d
int feetech_read8(const feetech_t *device, feetech_addr_t addr, uint8_t *value); int feetech_read8(const feetech_t *device, feetech_addr_t addr, uint8_t *value);
/** /**
* @brief Read from a device 16bits address * @brief Read from a device 16bits address
* *
* @param[in] device the Feetech device * @param[in] device the Feetech device
* @param[in] addr the address to read * @param[in] addr the address to read
@ -148,7 +148,7 @@ int feetech_read8(const feetech_t *device, feetech_addr_t addr, uint8_t *value);
int feetech_read16(const feetech_t *device, feetech_addr_t addr, uint16_t *value); int feetech_read16(const feetech_t *device, feetech_addr_t addr, uint16_t *value);
/** /**
* @brief Read from a device address * @brief Read from a device address
* *
* @param[in] device the Feetech device * @param[in] device the Feetech device
* @param[in] addr the address to start read * @param[in] addr the address to start read

View File

@ -34,7 +34,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Erase sector * @brief Erase sector
* *
* @param[out] addr Address within a flash sector to erase * @param[out] addr Address within a flash sector to erase
* *
@ -43,7 +43,7 @@ extern "C" {
uint8_t flashrom_erase(uint8_t *addr); uint8_t flashrom_erase(uint8_t *addr);
/** /**
* @brief Write buffer from ram to flash * @brief Write buffer from ram to flash
* *
* @param[out] dst Address within a flash sector to write, must be a 256 byte boundary * @param[out] dst Address within a flash sector to write, must be a 256 byte boundary
* @param[in] src Address within ram, must be a word boundary * @param[in] src Address within ram, must be a word boundary

View File

@ -32,17 +32,17 @@ extern "C" {
#endif #endif
/** /**
* @brief Maximal number of columns supported by the driver * @brief Maximal number of columns supported by the driver
*/ */
#define HD44780_MAX_COLS (40U) #define HD44780_MAX_COLS (40U)
/** /**
* @brief Maximal number of rows supported by the driver * @brief Maximal number of rows supported by the driver
*/ */
#define HD44780_MAX_ROWS (4U) #define HD44780_MAX_ROWS (4U)
/** /**
* @brief Number of data pins for communication 4 or 8. * @brief Number of data pins for communication 4 or 8.
*/ */
#define HD44780_MAX_PINS (8U) #define HD44780_MAX_PINS (8U)
@ -52,7 +52,7 @@ extern "C" {
#define HD44780_RW_OFF (255U) #define HD44780_RW_OFF (255U)
/** /**
* @brief Size of RAM for custom chars * @brief Size of RAM for custom chars
* *
* Generally the driver could support 8 chars of size 5x8 or 4 of size 5x10. * Generally the driver could support 8 chars of size 5x8 or 4 of size 5x10.
* However, most displays only use the former, which is (hard wired) default. * However, most displays only use the former, which is (hard wired) default.
@ -83,7 +83,7 @@ typedef struct {
} hd44780_t; } hd44780_t;
/** /**
* @brief Simple state values * @brief Simple state values
*/ */
typedef enum { typedef enum {
HD44780_OFF, /**< disable feature */ HD44780_OFF, /**< disable feature */
@ -91,7 +91,7 @@ typedef enum {
} hd44780_state_t; } hd44780_state_t;
/** /**
* @brief Initialize the given driver * @brief Initialize the given driver
* *
* @param[out] dev device descriptor of display to initialize * @param[out] dev device descriptor of display to initialize
* @param[in] params configuration parameters * @param[in] params configuration parameters
@ -101,21 +101,21 @@ typedef enum {
int hd44780_init(hd44780_t *dev, const hd44780_params_t *params); int hd44780_init(hd44780_t *dev, const hd44780_params_t *params);
/** /**
* @brief Clear display, delete all chars * @brief Clear display, delete all chars
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
*/ */
void hd44780_clear(const hd44780_t *dev); void hd44780_clear(const hd44780_t *dev);
/** /**
* @brief Reset cursor to row 0 and column 0 * @brief Reset cursor to row 0 and column 0
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
*/ */
void hd44780_home(const hd44780_t *dev); void hd44780_home(const hd44780_t *dev);
/** /**
* @brief Set cursor to specific position in column and row * @brief Set cursor to specific position in column and row
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
* @param[in] col column position * @param[in] col column position
@ -124,7 +124,7 @@ void hd44780_home(const hd44780_t *dev);
void hd44780_set_cursor(const hd44780_t *dev, uint8_t col, uint8_t row); void hd44780_set_cursor(const hd44780_t *dev, uint8_t col, uint8_t row);
/** /**
* @brief Turn display on or off * @brief Turn display on or off
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
* @param[in] state display on or off * @param[in] state display on or off
@ -132,7 +132,7 @@ void hd44780_set_cursor(const hd44780_t *dev, uint8_t col, uint8_t row);
void hd44780_display(hd44780_t *dev, hd44780_state_t state); void hd44780_display(hd44780_t *dev, hd44780_state_t state);
/** /**
* @brief Show cursor, on or off * @brief Show cursor, on or off
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
* @param[in] state cursor on or off * @param[in] state cursor on or off
@ -140,7 +140,7 @@ void hd44780_display(hd44780_t *dev, hd44780_state_t state);
void hd44780_cursor(hd44780_t *dev, hd44780_state_t state); void hd44780_cursor(hd44780_t *dev, hd44780_state_t state);
/** /**
* @brief Blink cursor, on or off * @brief Blink cursor, on or off
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
* @param[in] state blink on or off * @param[in] state blink on or off
@ -148,35 +148,35 @@ void hd44780_cursor(hd44780_t *dev, hd44780_state_t state);
void hd44780_blink(hd44780_t *dev, hd44780_state_t state); void hd44780_blink(hd44780_t *dev, hd44780_state_t state);
/** /**
* @brief Enable left scrolling * @brief Enable left scrolling
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
*/ */
void hd44780_scroll_left(const hd44780_t *dev); void hd44780_scroll_left(const hd44780_t *dev);
/** /**
* @brief Enable right scrolling * @brief Enable right scrolling
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
*/ */
void hd44780_scroll_right(const hd44780_t *dev); void hd44780_scroll_right(const hd44780_t *dev);
/** /**
* @brief set display direction left to right * @brief Set display direction left to right
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
*/ */
void hd44780_left2right(hd44780_t *dev); void hd44780_left2right(hd44780_t *dev);
/** /**
* @brief set display direction right to left * @brief Set display direction right to left
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
*/ */
void hd44780_right2left(hd44780_t *dev); void hd44780_right2left(hd44780_t *dev);
/** /**
* @brief display autoscroll on or off * @brief Display autoscroll on or off
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
* @param[in] state scroll on or off * @param[in] state scroll on or off
@ -184,7 +184,7 @@ void hd44780_right2left(hd44780_t *dev);
void hd44780_autoscroll(hd44780_t *dev, hd44780_state_t state); void hd44780_autoscroll(hd44780_t *dev, hd44780_state_t state);
/** /**
* @brief Create and store a custom character on display memory * @brief Create and store a custom character on display memory
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
* @param[in] location memory location * @param[in] location memory location
@ -195,7 +195,7 @@ void hd44780_autoscroll(hd44780_t *dev, hd44780_state_t state);
void hd44780_create_char(const hd44780_t *dev, uint8_t location, uint8_t charmap[]); void hd44780_create_char(const hd44780_t *dev, uint8_t location, uint8_t charmap[]);
/** /**
* @brief Write a single character on the LCD * @brief Write a single character on the LCD
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
* @param[in] value the character to print, i.e., memory location * @param[in] value the character to print, i.e., memory location
@ -203,7 +203,7 @@ void hd44780_create_char(const hd44780_t *dev, uint8_t location, uint8_t charmap
void hd44780_write(const hd44780_t *dev, uint8_t value); void hd44780_write(const hd44780_t *dev, uint8_t value);
/** /**
* @brief Write a string on the LCD * @brief Write a string on the LCD
* *
* @param[in] dev device descriptor of LCD * @param[in] dev device descriptor of LCD
* @param[in] data the string to print * @param[in] data the string to print

View File

@ -32,7 +32,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Device descriptor for HIH6130/HIH6131 sensors * @brief Device descriptor for HIH6130/HIH6131 sensors
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device the sensor is connected to */ i2c_t i2c; /**< I2C device the sensor is connected to */
@ -40,7 +40,7 @@ typedef struct {
} hih6130_t; } hih6130_t;
/** /**
* @brief Initialize a sensor * @brief Initialize a sensor
* *
* @param[out] dev device descriptor of sensor to initialize * @param[out] dev device descriptor of sensor to initialize
* @param[in] i2c I2C bus the sensor is connected to * @param[in] i2c I2C bus the sensor is connected to
@ -49,7 +49,7 @@ typedef struct {
void hih6130_init(hih6130_t *dev, i2c_t i2c, uint8_t address); void hih6130_init(hih6130_t *dev, i2c_t i2c, uint8_t address);
/** /**
* @brief Read humidity and temperature from sensor and convert to floating-point * @brief Read humidity and temperature from sensor and convert to floating-point
* *
* @param[in] dev Sensor device descriptor * @param[in] dev Sensor device descriptor
* @param[out] relative_humidity_percent Measured relative humidity in percent * @param[out] relative_humidity_percent Measured relative humidity in percent

View File

@ -33,14 +33,16 @@ extern "C" {
#endif #endif
/** /**
* @brief Device descriptor for INA220 sensors * @brief Device descriptor for INA220 sensors
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device the sensor is connected to */ i2c_t i2c; /**< I2C device the sensor is connected to */
uint8_t addr; /**< the slave address of the sensor on the I2C bus */ uint8_t addr; /**< the slave address of the sensor on the I2C bus */
} ina220_t; } ina220_t;
/** @brief INA220 possible mode settings */ /**
* @brief INA220 possible mode settings
*/
typedef enum ina220_mode { typedef enum ina220_mode {
INA220_MODE_POWERDOWN = 0x0000, /**< Power down */ INA220_MODE_POWERDOWN = 0x0000, /**< Power down */
INA220_MODE_TRIGGER_SHUNT_ONLY = 0x0001, /**< Shunt Voltage, Triggered */ INA220_MODE_TRIGGER_SHUNT_ONLY = 0x0001, /**< Shunt Voltage, Triggered */
@ -52,7 +54,9 @@ typedef enum ina220_mode {
INA220_MODE_CONTINUOUS_SHUNT_BUS = 0x0007, /**< Shunt and Bus, Continuous, default */ INA220_MODE_CONTINUOUS_SHUNT_BUS = 0x0007, /**< Shunt and Bus, Continuous, default */
} ina220_mode_t; } ina220_mode_t;
/** @brief Shunt voltage measurement range (PGA settings) */ /**
* @brief Shunt voltage measurement range (PGA settings)
*/
typedef enum ina220_range { typedef enum ina220_range {
INA220_RANGE_40MV = 0x0000, /**< +/- 40 mV range */ INA220_RANGE_40MV = 0x0000, /**< +/- 40 mV range */
INA220_RANGE_80MV = 0x0800, /**< +/- 80 mV range */ INA220_RANGE_80MV = 0x0800, /**< +/- 80 mV range */
@ -60,14 +64,16 @@ typedef enum ina220_range {
INA220_RANGE_320MV = 0x1800, /**< +/- 320 mV range, default */ INA220_RANGE_320MV = 0x1800, /**< +/- 320 mV range, default */
} ina220_range_t; } ina220_range_t;
/** @brief Bus voltage measurement range */ /**
* @brief Bus voltage measurement range
*/
typedef enum ina220_brng { typedef enum ina220_brng {
INA220_BRNG_16V_FSR = 0x0000, /**< 16 V bus voltage full scale range */ INA220_BRNG_16V_FSR = 0x0000, /**< 16 V bus voltage full scale range */
INA220_BRNG_32V_FSR = 0x0200, /**< 32 V bus voltage full scale range, default. */ INA220_BRNG_32V_FSR = 0x0200, /**< 32 V bus voltage full scale range, default. */
} ina220_brng_t; } ina220_brng_t;
/** /**
* @brief Shunt ADC settings * @brief Shunt ADC settings
* *
* @see Table 5 in INA220 data sheet * @see Table 5 in INA220 data sheet
*/ */
@ -99,7 +105,7 @@ typedef enum ina220_sadc {
} ina220_sadc_t; } ina220_sadc_t;
/** /**
* @brief Bus ADC settings * @brief Bus ADC settings
* *
* @see Table 5 in INA220 data sheet * @see Table 5 in INA220 data sheet
*/ */
@ -137,7 +143,7 @@ typedef enum ina220_badc {
#define INA220_BUS_VOLTAGE_SHIFT (3) #define INA220_BUS_VOLTAGE_SHIFT (3)
/** /**
* @brief Initialize a current sensor * @brief Initialize a current sensor
* *
* @param[out] dev device descriptor of sensor to initialize * @param[out] dev device descriptor of sensor to initialize
* @param[in] i2c I2C bus the sensor is connected to * @param[in] i2c I2C bus the sensor is connected to
@ -149,7 +155,7 @@ typedef enum ina220_badc {
int ina220_init(ina220_t *dev, i2c_t i2c, uint8_t address); int ina220_init(ina220_t *dev, i2c_t i2c, uint8_t address);
/** /**
* @brief Write to calibration register * @brief Write to calibration register
* *
* @param[in] dev device descriptor of sensor to configure * @param[in] dev device descriptor of sensor to configure
* @param[in] calibration calibration register settings, see data sheet * @param[in] calibration calibration register settings, see data sheet
@ -160,7 +166,7 @@ int ina220_init(ina220_t *dev, i2c_t i2c, uint8_t address);
int ina220_set_calibration(const ina220_t *dev, uint16_t calibration); int ina220_set_calibration(const ina220_t *dev, uint16_t calibration);
/** /**
* @brief Write to configuration register * @brief Write to configuration register
* *
* @param[in] dev device descriptor of sensor to configure * @param[in] dev device descriptor of sensor to configure
* @param[in] config configuration register settings, see data sheet * @param[in] config configuration register settings, see data sheet
@ -171,7 +177,7 @@ int ina220_set_calibration(const ina220_t *dev, uint16_t calibration);
int ina220_set_config(const ina220_t *dev, uint16_t config); int ina220_set_config(const ina220_t *dev, uint16_t config);
/** /**
* @brief Read shunt voltage * @brief Read shunt voltage
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* @param[out] voltage measured voltage across shunt resistor * @param[out] voltage measured voltage across shunt resistor
@ -182,7 +188,7 @@ int ina220_set_config(const ina220_t *dev, uint16_t config);
int ina220_read_shunt(const ina220_t *dev, int16_t *voltage); int ina220_read_shunt(const ina220_t *dev, int16_t *voltage);
/** /**
* @brief Read bus voltage register * @brief Read bus voltage register
* *
* The bus voltage can be found in the most significant bits of the bus voltage * The bus voltage can be found in the most significant bits of the bus voltage
* register, the lower three bits are flags/reserved. * register, the lower three bits are flags/reserved.
@ -198,7 +204,7 @@ int ina220_read_shunt(const ina220_t *dev, int16_t *voltage);
int ina220_read_bus(const ina220_t *dev, int16_t *voltage); int ina220_read_bus(const ina220_t *dev, int16_t *voltage);
/** /**
* @brief Read shunt current * @brief Read shunt current
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* @param[out] current measured current through shunt resistor * @param[out] current measured current through shunt resistor
@ -209,7 +215,7 @@ int ina220_read_bus(const ina220_t *dev, int16_t *voltage);
int ina220_read_current(const ina220_t *dev, int16_t *current); int ina220_read_current(const ina220_t *dev, int16_t *current);
/** /**
* @brief Read power consumption * @brief Read power consumption
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* @param[out] power measured power consumption * @param[out] power measured power consumption

View File

@ -46,7 +46,7 @@ extern "C" {
#endif #endif
/** /**
* @brief IO1 Xplained driver return codes * @brief IO1 Xplained driver return codes
*/ */
enum { enum {
IO1_XPLAINED_OK = 0, /**< Initialization successful */ IO1_XPLAINED_OK = 0, /**< Initialization successful */
@ -59,14 +59,14 @@ enum {
}; };
/** /**
* @brief Device initialization parameters * @brief Device initialization parameters
*/ */
typedef struct { typedef struct {
uint8_t addr; /**< extension custom address */ uint8_t addr; /**< extension custom address */
} io1_xplained_params_t; } io1_xplained_params_t;
/** /**
* @brief Device descriptor for the IO1 Xplained extension. * @brief Device descriptor for the IO1 Xplained extension.
*/ */
typedef struct { typedef struct {
io1_xplained_params_t params; /**< Initialization parameters */ io1_xplained_params_t params; /**< Initialization parameters */
@ -74,7 +74,7 @@ typedef struct {
} io1_xplained_t; } io1_xplained_t;
/** /**
* @brief Initialize the given IO1 Xplained extension * @brief Initialize the given IO1 Xplained extension
* *
* @param[out] dev Initialized device descriptor of IO1 Xplained extension * @param[out] dev Initialized device descriptor of IO1 Xplained extension
* @param[in] params Device initialization parameters * @param[in] params Device initialization parameters
@ -88,7 +88,7 @@ typedef struct {
int io1_xplained_init(io1_xplained_t *dev, const io1_xplained_params_t *params); int io1_xplained_init(io1_xplained_t *dev, const io1_xplained_params_t *params);
/** /**
* @brief Read temperature value from the given IO1 Xplained extension, returned in °C * @brief Read temperature value from the given IO1 Xplained extension, returned in °C
* *
* @param[in] dev Device descriptor of IO1 Xplained to read from * @param[in] dev Device descriptor of IO1 Xplained to read from
* @param[out] temperature Temperature in °C * @param[out] temperature Temperature in °C
@ -99,17 +99,17 @@ int io1_xplained_init(io1_xplained_t *dev, const io1_xplained_params_t *params);
int io1_xplained_read_temperature(const io1_xplained_t *dev, float *temperature); int io1_xplained_read_temperature(const io1_xplained_t *dev, float *temperature);
/** /**
* @brief Set the on-board led of the IO1 Xplained extension * @brief Set the on-board led of the IO1 Xplained extension
*/ */
void io1_xplained_set_led(void); void io1_xplained_set_led(void);
/** /**
* @brief Clear the on-board led of the IO1 Xplained extension * @brief Clear the on-board led of the IO1 Xplained extension
*/ */
void io1_xplained_clear_led(void); void io1_xplained_clear_led(void);
/** /**
* @brief Toggle the on-board led of the IO1 Xplained extension * @brief Toggle the on-board led of the IO1 Xplained extension
*/ */
void io1_xplained_toggle_led(void); void io1_xplained_toggle_led(void);

View File

@ -29,12 +29,12 @@ extern "C" {
#endif #endif
/** /**
* @brief The sensors default I2C address * @brief The sensors default I2C address
*/ */
#define ISL29020_DEFAULT_ADDRESS 0x44 #define ISL29020_DEFAULT_ADDRESS 0x44
/** /**
* @brief Device descriptor for ISL29020 sensors * @brief Device descriptor for ISL29020 sensors
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device the sensor is connected to */ i2c_t i2c; /**< I2C device the sensor is connected to */
@ -43,7 +43,7 @@ typedef struct {
} isl29020_t; } isl29020_t;
/** /**
* @brief Possible modes for the ISL29020 sensor * @brief Possible modes for the ISL29020 sensor
*/ */
typedef enum { typedef enum {
ISL29020_MODE_AMBIENT = 0, /**< set sensor to detect ambient light */ ISL29020_MODE_AMBIENT = 0, /**< set sensor to detect ambient light */
@ -51,7 +51,7 @@ typedef enum {
} isl29020_mode_t; } isl29020_mode_t;
/** /**
* @brief Possible range values for the ISL29020 sensor * @brief Possible range values for the ISL29020 sensor
*/ */
typedef enum { typedef enum {
ISL29020_RANGE_1K = 0, /**< set range to 0-1000 lux */ ISL29020_RANGE_1K = 0, /**< set range to 0-1000 lux */
@ -61,7 +61,7 @@ typedef enum {
} isl29020_range_t; } isl29020_range_t;
/** /**
* @brief Data structure holding the full set of configuration parameters * @brief Data structure holding the full set of configuration parameters
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C bus the device is connected to */ i2c_t i2c; /**< I2C bus the device is connected to */
@ -71,7 +71,7 @@ typedef struct {
} isl29020_params_t; } isl29020_params_t;
/** /**
* @brief Initialize a new ISL29020 device * @brief Initialize a new ISL29020 device
* *
* @param[in] dev device descriptor of an ISL29020 device * @param[in] dev device descriptor of an ISL29020 device
* @param[in] i2c I2C device the sensor is connected to * @param[in] i2c I2C device the sensor is connected to
@ -86,7 +86,7 @@ int isl29020_init(isl29020_t *dev, i2c_t i2c, uint8_t address,
isl29020_range_t range, isl29020_mode_t mode); isl29020_range_t range, isl29020_mode_t mode);
/** /**
* @brief Read a lighting value from the sensor, the result is given in lux * @brief Read a lighting value from the sensor, the result is given in lux
* *
* @param[in] dev device descriptor of an ISL29020 device * @param[in] dev device descriptor of an ISL29020 device
* *
@ -96,7 +96,7 @@ int isl29020_init(isl29020_t *dev, i2c_t i2c, uint8_t address,
int isl29020_read(const isl29020_t *dev); int isl29020_read(const isl29020_t *dev);
/** /**
* @brief Enable the given sensor * @brief Enable the given sensor
* *
* @param[in] dev device descriptor of an ISL29020 device * @param[in] dev device descriptor of an ISL29020 device
* *
@ -106,7 +106,7 @@ int isl29020_read(const isl29020_t *dev);
int isl29020_enable(const isl29020_t *dev); int isl29020_enable(const isl29020_t *dev);
/** /**
* @brief Disable the given sensor * @brief Disable the given sensor
* *
* @param[in] dev device descriptor of an ISL29020 device * @param[in] dev device descriptor of an ISL29020 device
* *

View File

@ -59,7 +59,7 @@ extern "C" {
#endif #endif
/** /**
* @brief data type for storing lux RGB sensor readings * @brief Data type for storing lux RGB sensor readings
*/ */
typedef struct { typedef struct {
float red; /**< red lux value */ float red; /**< red lux value */
@ -68,7 +68,7 @@ typedef struct {
} isl29125_rgb_t; } isl29125_rgb_t;
/** /**
* @brief supported operation modes of the ISL29125 sensor's AD * @brief Supported operation modes of the ISL29125 sensor's AD
* conversion * conversion
*/ */
typedef enum { typedef enum {
@ -83,7 +83,7 @@ typedef enum {
} isl29125_mode_t; } isl29125_mode_t;
/** /**
* @brief supported RGB sensing range values of the ISL29125 sensor * @brief Supported RGB sensing range values of the ISL29125 sensor
*/ */
typedef enum { typedef enum {
ISL29125_RANGE_375 = 0x00, /**< range: 5.7m - 375 lux */ ISL29125_RANGE_375 = 0x00, /**< range: 5.7m - 375 lux */
@ -91,7 +91,7 @@ typedef enum {
} isl29125_range_t; } isl29125_range_t;
/** /**
* @brief supported color resolutions of the ISL29125 sensor's AD * @brief Supported color resolutions of the ISL29125 sensor's AD
* conversion * conversion
*/ */
typedef enum { typedef enum {
@ -100,7 +100,7 @@ typedef enum {
} isl29125_resolution_t; } isl29125_resolution_t;
/** /**
* @brief Device descriptor for ISL29125 sensors * @brief Device descriptor for ISL29125 sensors
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device the sensor is connected to */ i2c_t i2c; /**< I2C device the sensor is connected to */
@ -110,7 +110,7 @@ typedef struct {
} isl29125_t; } isl29125_t;
/** /**
* @brief Configuration-3 Register 0x03 B1:0 * @brief Configuration-3 Register 0x03 B1:0
*/ */
typedef enum { typedef enum {
ISL29125_INTERRUPT_STATUS_NONE = 0x00, /**< No interrupt */ ISL29125_INTERRUPT_STATUS_NONE = 0x00, /**< No interrupt */
@ -120,7 +120,7 @@ typedef enum {
} isl29125_interrupt_status_t; } isl29125_interrupt_status_t;
/** /**
* @brief Configuration-3 Register 0x03 B3:2 * @brief Configuration-3 Register 0x03 B3:2
*/ */
typedef enum { typedef enum {
ISL29125_INTERRUPT_PERSIST_1 = (0x00 << 2), /**< Int. Persist: Number of integration cycle 1 */ ISL29125_INTERRUPT_PERSIST_1 = (0x00 << 2), /**< Int. Persist: Number of integration cycle 1 */
@ -130,7 +130,7 @@ typedef enum {
} isl29125_interrupt_persist_t; } isl29125_interrupt_persist_t;
/** /**
* @brief Configuration-3 Register 0x03 B4 * @brief Configuration-3 Register 0x03 B4
*/ */
typedef enum { typedef enum {
ISL29125_INTERRUPT_CONV_DIS = (0x0 << 4), /**< RGB Conversion done to ~INT Control disable */ ISL29125_INTERRUPT_CONV_DIS = (0x0 << 4), /**< RGB Conversion done to ~INT Control disable */
@ -138,7 +138,7 @@ typedef enum {
} isl29125_interrupt_conven_t; } isl29125_interrupt_conven_t;
/** /**
* @brief initialize a new ISL29125 device * @brief Initialize a new ISL29125 device
* *
* @param[in] dev device descriptor of an ISL29125 device * @param[in] dev device descriptor of an ISL29125 device
* @param[in] i2c I2C device the sensor is connected to * @param[in] i2c I2C device the sensor is connected to
@ -155,7 +155,7 @@ int isl29125_init(isl29125_t *dev, i2c_t i2c, gpio_t gpio,
isl29125_resolution_t resolution); isl29125_resolution_t resolution);
/** /**
* @brief initialize interrupts * @brief Initialize interrupts
* *
* @param[in] dev device descriptor of an ISL29125 device * @param[in] dev device descriptor of an ISL29125 device
* @param[in] interrupt_status Interrupt status * @param[in] interrupt_status Interrupt status
@ -176,7 +176,7 @@ int isl29125_init_int(isl29125_t *dev, isl29125_interrupt_status_t interrupt_sta
gpio_cb_t cb, void *arg); gpio_cb_t cb, void *arg);
/** /**
* @brief read RGB values from device * @brief Read RGB values from device
* *
* @param[in] dev device descriptor of an ISL29125 device * @param[in] dev device descriptor of an ISL29125 device
* @param[in] dest pointer to lux RGB color object data is written to * @param[in] dest pointer to lux RGB color object data is written to
@ -184,7 +184,7 @@ int isl29125_init_int(isl29125_t *dev, isl29125_interrupt_status_t interrupt_sta
void isl29125_read_rgb_lux(const isl29125_t *dev, isl29125_rgb_t *dest); void isl29125_read_rgb_lux(const isl29125_t *dev, isl29125_rgb_t *dest);
/** /**
* @brief read color values from device * @brief Read color values from device
* *
* @param[in] dev device descriptor of an ISL29125 device * @param[in] dev device descriptor of an ISL29125 device
* @param[in] dest pointer to RGB color object data is written to * @param[in] dest pointer to RGB color object data is written to
@ -192,7 +192,7 @@ void isl29125_read_rgb_lux(const isl29125_t *dev, isl29125_rgb_t *dest);
void isl29125_read_rgb_color(const isl29125_t *dev, color_rgb_t *dest); void isl29125_read_rgb_color(const isl29125_t *dev, color_rgb_t *dest);
/** /**
* @brief set the device's operation mode * @brief Set the device's operation mode
* *
* @param[in] dev device descriptor of an ISL29125 device * @param[in] dev device descriptor of an ISL29125 device
* @param[in] mode operation mode * @param[in] mode operation mode
@ -200,7 +200,7 @@ void isl29125_read_rgb_color(const isl29125_t *dev, color_rgb_t *dest);
void isl29125_set_mode(const isl29125_t *dev, isl29125_mode_t mode); void isl29125_set_mode(const isl29125_t *dev, isl29125_mode_t mode);
/** /**
* @brief read isl29125 interrupt status * @brief Read isl29125 interrupt status
* *
* @param[in] dev device descriptor of an ISL29125 device * @param[in] dev device descriptor of an ISL29125 device
* *

View File

@ -40,7 +40,7 @@ extern "C" {
#endif #endif
/** /**
* @name jc42 status return codes * @name jc42 status return codes
* @{ * @{
*/ */
#define JC42_OK (0) #define JC42_OK (0)
@ -58,7 +58,7 @@ typedef struct {
} jc42_t; } jc42_t;
/** /**
* @brief Device initialization parameters * @brief Device initialization parameters
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device that sensor is connected to */ i2c_t i2c; /**< I2C device that sensor is connected to */
@ -67,7 +67,7 @@ typedef struct {
} jc42_params_t; } jc42_params_t;
/** /**
* @brief export SAUL endpoint * @brief Export SAUL endpoint
*/ */
extern const saul_driver_t jc42_temperature_saul_driver; extern const saul_driver_t jc42_temperature_saul_driver;
@ -121,5 +121,5 @@ int jc42_get_temperature(const jc42_t* dev, int16_t* temperature);
} }
#endif #endif
/** @} */
#endif /* JC42_H */ #endif /* JC42_H */
/** @} */

View File

@ -47,7 +47,7 @@ extern "C" {
#define KW2XRF_DEFAULT_PANID (IEEE802154_DEFAULT_PANID) #define KW2XRF_DEFAULT_PANID (IEEE802154_DEFAULT_PANID)
/** /**
* @brief Default channel used after initialization * @name Default channel used after initialization
* *
* @{ * @{
*/ */
@ -57,7 +57,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Allowed range of channels * @name Allowed range of channels
* *
* @{ * @{
*/ */
@ -109,7 +109,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief struct holding all params needed for device initialization * @brief Struct holding all params needed for device initialization
*/ */
typedef struct kw2xrf_params { typedef struct kw2xrf_params {
spi_t spi; /**< SPI bus the device is connected to */ spi_t spi; /**< SPI bus the device is connected to */

View File

@ -33,12 +33,12 @@
#endif #endif
/** /**
* @brief The sensors default I2C address * @brief The sensors default I2C address
*/ */
#define L3G4200D_DEFAULT_ADDRESS 0x68 #define L3G4200D_DEFAULT_ADDRESS 0x68
/** /**
* @brief Result vector for gyro measurement * @brief Result vector for gyro measurement
*/ */
typedef struct { typedef struct {
int16_t acc_x; /**< roll rate in dgs (degree per second) */ int16_t acc_x; /**< roll rate in dgs (degree per second) */
@ -47,7 +47,7 @@ typedef struct {
} l3g4200d_data_t; } l3g4200d_data_t;
/** /**
* @brief Measurement scale for the gyro * @brief Measurement scale for the gyro
*/ */
typedef enum { typedef enum {
L3G4200D_SCALE_250DPS = 0x0, /**< scale: 250 degree per second */ L3G4200D_SCALE_250DPS = 0x0, /**< scale: 250 degree per second */
@ -56,7 +56,7 @@ typedef enum {
} l3g4200d_scale_t; } l3g4200d_scale_t;
/** /**
* @brief Sampling frequency and bandwidth settings for the gyro * @brief Sampling frequency and bandwidth settings for the gyro
*/ */
typedef enum { typedef enum {
L3G4200D_MODE_100_12 = 0x0, /**< data rate: 100Hz, cut-off: 12.5Hz */ L3G4200D_MODE_100_12 = 0x0, /**< data rate: 100Hz, cut-off: 12.5Hz */
@ -76,7 +76,7 @@ typedef enum {
} l3g4200d_mode_t; } l3g4200d_mode_t;
/** /**
* @brief Device descriptor for L3G4200D sensors * @brief Device descriptor for L3G4200D sensors
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device the sensor is connected to */ i2c_t i2c; /**< I2C device the sensor is connected to */
@ -87,7 +87,7 @@ typedef struct {
} l3g4200d_t; } l3g4200d_t;
/** /**
* @brief Data structure holding the device parameters needed for initialization * @brief Data structure holding the device parameters needed for initialization
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C bus the device is connected to */ i2c_t i2c; /**< I2C bus the device is connected to */
@ -99,7 +99,7 @@ typedef struct {
} l3g4200d_params_t; } l3g4200d_params_t;
/** /**
* @brief Initialize a gyro * @brief Initialize a gyro
* *
* @param[out] dev device descriptor of sensor to initialize * @param[out] dev device descriptor of sensor to initialize
* @param[in] i2c I2C bus the gyro is connected to * @param[in] i2c I2C bus the gyro is connected to
@ -117,7 +117,7 @@ int l3g4200d_init(l3g4200d_t *dev, i2c_t i2c, uint8_t address,
l3g4200d_mode_t mode, l3g4200d_scale_t scale); l3g4200d_mode_t mode, l3g4200d_scale_t scale);
/** /**
* @brief Read angular speed value in degree per second from gyro * @brief Read angular speed value in degree per second from gyro
* *
* @param[in] dev device descriptor of gyro * @param[in] dev device descriptor of gyro
* @param[out] acc_data result vector in dps per axis * @param[out] acc_data result vector in dps per axis
@ -128,7 +128,7 @@ int l3g4200d_init(l3g4200d_t *dev, i2c_t i2c, uint8_t address,
int l3g4200d_read(const l3g4200d_t *dev, l3g4200d_data_t *acc_data); int l3g4200d_read(const l3g4200d_t *dev, l3g4200d_data_t *acc_data);
/** /**
* @brief Power-up the given device * @brief Power-up the given device
* *
* @param[in] dev device to enable * @param[in] dev device to enable
* *
@ -138,7 +138,7 @@ int l3g4200d_read(const l3g4200d_t *dev, l3g4200d_data_t *acc_data);
int l3g4200d_enable(const l3g4200d_t *dev); int l3g4200d_enable(const l3g4200d_t *dev);
/** /**
* @brief Power-down the given device * @brief Power-down the given device
* *
* @param[in] dev device to power-down * @param[in] dev device to power-down
* *

View File

@ -39,65 +39,65 @@ extern "C" {
#endif #endif
/** /**
* @brief LED fallback macros * @name LED fallback macros
* @{ * @{
*/ */
#ifndef LED0_ON #ifndef LED0_ON
#define LED0_ON /* defined empty */ #define LED0_ON /**< defined empty */
#define LED0_OFF /* defined empty */ #define LED0_OFF /**< defined empty */
#define LED0_TOGGLE /* defined empty */ #define LED0_TOGGLE /**< defined empty */
#endif #endif
#ifndef LED1_ON #ifndef LED1_ON
#define LED1_ON /* defined empty */ #define LED1_ON /**< defined empty */
#define LED1_OFF /* defined empty */ #define LED1_OFF /**< defined empty */
#define LED1_TOGGLE /* defined empty */ #define LED1_TOGGLE /**< defined empty */
#endif #endif
#ifndef LED2_ON #ifndef LED2_ON
#define LED2_ON /* defined empty */ #define LED2_ON /**< defined empty */
#define LED2_OFF /* defined empty */ #define LED2_OFF /**< defined empty */
#define LED2_TOGGLE /* defined empty */ #define LED2_TOGGLE /**< defined empty */
#endif #endif
#ifndef LED3_ON #ifndef LED3_ON
#define LED3_ON /* defined empty */ #define LED3_ON /**< defined empty */
#define LED3_OFF /* defined empty */ #define LED3_OFF /**< defined empty */
#define LED3_TOGGLE /* defined empty */ #define LED3_TOGGLE /**< defined empty */
#endif #endif
#ifndef LED4_ON #ifndef LED4_ON
#define LED4_ON /* defined empty */ #define LED4_ON /**< defined empty */
#define LED4_OFF /* defined empty */ #define LED4_OFF /**< defined empty */
#define LED4_TOGGLE /* defined empty */ #define LED4_TOGGLE /**< defined empty */
#endif #endif
#ifndef LED5_ON #ifndef LED5_ON
#define LED5_ON /* defined empty */ #define LED5_ON /**< defined empty */
#define LED5_OFF /* defined empty */ #define LED5_OFF /**< defined empty */
#define LED5_TOGGLE /* defined empty */ #define LED5_TOGGLE /**< defined empty */
#endif #endif
#ifndef LED6_ON #ifndef LED6_ON
#define LED6_ON /* defined empty */ #define LED6_ON /**< defined empty */
#define LED6_OFF /* defined empty */ #define LED6_OFF /**< defined empty */
#define LED6_TOGGLE /* defined empty */ #define LED6_TOGGLE /**< defined empty */
#endif #endif
#ifndef LED7_ON #ifndef LED7_ON
#define LED7_ON /* defined empty */ #define LED7_ON /**< defined empty */
#define LED7_OFF /* defined empty */ #define LED7_OFF /**< defined empty */
#define LED7_TOGGLE /* defined empty */ #define LED7_TOGGLE /**< defined empty */
#endif #endif
/** @} */ /** @} */
/** /**
* @brief Convenience LED control macros * @name Convenience LED control macros
* @{ * @{
*/ */
#define LED_ON(x) LED ## x ##_ON #define LED_ON(x) LED ## x ##_ON /**< Turn on led x */
#define LED_OFF(x) LED ## x ## _OFF #define LED_OFF(x) LED ## x ## _OFF /**< Turn off led x */
#define LED_TOGGLE(x) LED ## x ##_TOGGLE #define LED_TOGGLE(x) LED ## x ##_TOGGLE /**< Toggle led x */
/** @} */ /** @} */
#ifdef __cplusplus #ifdef __cplusplus

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @defgroup driver_LIS3MDL LIS3MDL 3-axis magnetometer * @defgroup drivers_lis3mdl LIS3MDL 3-axis magnetometer
* @ingroup drivers_sensors * @ingroup drivers_sensors
* @brief Device driver for the LIS3MDL 3-axis magnetometer * @brief Device driver for the LIS3MDL 3-axis magnetometer
* @{ * @{
@ -30,7 +30,7 @@ extern "C" {
#endif #endif
/** /**
* @brief 3d data container of the LIS3MDL sensor * @brief 3d data container of the LIS3MDL sensor
*/ */
typedef struct { typedef struct {
int16_t x_axis; /**< Magnometer data from x-axis */ int16_t x_axis; /**< Magnometer data from x-axis */
@ -39,7 +39,7 @@ typedef struct {
} lis3mdl_3d_data_t; } lis3mdl_3d_data_t;
/** /**
* @brief Device descriptor for LIS3MDL sensor * @brief Device descriptor for LIS3MDL sensor
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device */ i2c_t i2c; /**< I2C device */
@ -47,7 +47,7 @@ typedef struct {
} lis3mdl_t; } lis3mdl_t;
/** /**
* @brief Operating mode of x- and y-axis for LIS3MDL * @brief Operating mode of x- and y-axis for LIS3MDL
*/ */
typedef enum { typedef enum {
LIS3MDL_XY_MODE_LOW = 0x00, /**< Low-power mode */ LIS3MDL_XY_MODE_LOW = 0x00, /**< Low-power mode */
@ -57,7 +57,7 @@ typedef enum {
} lis3mdl_xy_mode_t; } lis3mdl_xy_mode_t;
/** /**
* @brief Operating mode of z-axis for LIS3MDL * @brief Operating mode of z-axis for LIS3MDL
*/ */
typedef enum { typedef enum {
LIS3MDL_Z_MODE_LOW = 0x00, /**< Low-power mode */ LIS3MDL_Z_MODE_LOW = 0x00, /**< Low-power mode */
@ -67,7 +67,7 @@ typedef enum {
} lis3mdl_z_mode_t; } lis3mdl_z_mode_t;
/** /**
* @brief Output data rate [Hz] for LIS3MDL * @brief Output data rate [Hz] for LIS3MDL
*/ */
typedef enum { typedef enum {
LIS3MDL_ODR_0_625Hz = 0x00, /**< 0.625Hz */ LIS3MDL_ODR_0_625Hz = 0x00, /**< 0.625Hz */
@ -80,7 +80,7 @@ typedef enum {
} lis3mdl_odr_t; } lis3mdl_odr_t;
/** /**
* @brief Scale [gauss] for LIS3MDL * @brief Scale [gauss] for LIS3MDL
*/ */
typedef enum { typedef enum {
LIS3MDL_SCALE_4G = 0x00, /**< +- 4 gauss */ LIS3MDL_SCALE_4G = 0x00, /**< +- 4 gauss */
@ -90,7 +90,7 @@ typedef enum {
} lis3mdl_scale_t; } lis3mdl_scale_t;
/** /**
* @brief Operating modes * @brief Operating modes
*/ */
typedef enum { typedef enum {
LIS3MDL_OP_CONT_CONV = 0x00, /**< Continous-conversion mode */ LIS3MDL_OP_CONT_CONV = 0x00, /**< Continous-conversion mode */
@ -99,7 +99,7 @@ typedef enum {
} lis3mdl_op_t; } lis3mdl_op_t;
/** /**
* @brief Initialize a new LIS3DML device. * @brief Initialize a new LIS3DML device.
* *
* @param[in] dev device descriptor of LIS3MDL * @param[in] dev device descriptor of LIS3MDL
* @param[in] i2c I2C device connected to * @param[in] i2c I2C device connected to
@ -119,7 +119,7 @@ int lis3mdl_init(lis3mdl_t *dev, i2c_t i2c, uint8_t address,
lis3mdl_op_t op_mode); lis3mdl_op_t op_mode);
/** /**
* @brief Reads the magnometer value of LIS3MDL. * @brief Reads the magnometer value of LIS3MDL.
* *
* @param[in] dev device descriptor of LIS3MDL * @param[in] dev device descriptor of LIS3MDL
* @param[in] data measured magnetometer data * @param[in] data measured magnetometer data
@ -127,7 +127,7 @@ int lis3mdl_init(lis3mdl_t *dev, i2c_t i2c, uint8_t address,
void lis3mdl_read_mag(const lis3mdl_t *dev, lis3mdl_3d_data_t *data); void lis3mdl_read_mag(const lis3mdl_t *dev, lis3mdl_3d_data_t *data);
/** /**
* @brief Reads the temperature value of LIS3MDL. * @brief Reads the temperature value of LIS3MDL.
* *
* @param[in] dev device descriptor of LIS3MDL * @param[in] dev device descriptor of LIS3MDL
* @param[in] value measured temperature in degree celsius * @param[in] value measured temperature in degree celsius
@ -135,14 +135,14 @@ void lis3mdl_read_mag(const lis3mdl_t *dev, lis3mdl_3d_data_t *data);
void lis3mdl_read_temp(const lis3mdl_t *dev, int16_t *value); void lis3mdl_read_temp(const lis3mdl_t *dev, int16_t *value);
/** /**
* @brief Enable the LIS3MDL device. * @brief Enable the LIS3MDL device.
* *
* @param[in] dev device descriptor of LIS3MDL * @param[in] dev device descriptor of LIS3MDL
*/ */
void lis3mdl_enable(const lis3mdl_t *dev); void lis3mdl_enable(const lis3mdl_t *dev);
/** /**
* @brief Disable the LIS3MDL device. * @brief Disable the LIS3MDL device.
* *
* @param[in] dev device descriptor of LIS3MDL * @param[in] dev device descriptor of LIS3MDL
*/ */

View File

@ -31,12 +31,12 @@ extern "C" {
#include "periph/i2c.h" #include "periph/i2c.h"
/** /**
* @brief The sensors default I2C address * @brief The sensors default I2C address
*/ */
#define LPS331AP_DEFAULT_ADDRESS 0x5c #define LPS331AP_DEFAULT_ADDRESS (0x5c)
/** /**
* @brief Device descriptor for LPS331AP sensors * @brief Device descriptor for LPS331AP sensors
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device the sensor is connected to */ i2c_t i2c; /**< I2C device the sensor is connected to */
@ -44,7 +44,7 @@ typedef struct {
} lps331ap_t; } lps331ap_t;
/** /**
* @brief Possible sampling rates for LPS331AP sensors * @brief Possible sampling rates for LPS331AP sensors
*/ */
typedef enum { typedef enum {
LPS331AP_RATE_1HZ = 1, /**< sample with 1Hz */ LPS331AP_RATE_1HZ = 1, /**< sample with 1Hz */
@ -63,7 +63,7 @@ typedef struct {
} lps331ap_params_t; } lps331ap_params_t;
/** /**
* @brief Initialize a given LPS331AP pressure sensor * @brief Initialize a given LPS331AP pressure sensor
* *
* @param[out] dev device descriptor of the sensor * @param[out] dev device descriptor of the sensor
* @param[in] i2c I2C bus the sensor is connected to * @param[in] i2c I2C bus the sensor is connected to
@ -76,7 +76,7 @@ typedef struct {
int lps331ap_init(lps331ap_t *dev, i2c_t i2c, uint8_t address, lps331ap_rate_t rate); int lps331ap_init(lps331ap_t *dev, i2c_t i2c, uint8_t address, lps331ap_rate_t rate);
/** /**
* @brief Read a temperature value from the given sensor, returned in m°C * @brief Read a temperature value from the given sensor, returned in m°C
* *
* @param[in] dev device descriptor of sensor to read from * @param[in] dev device descriptor of sensor to read from
* *
@ -85,7 +85,7 @@ int lps331ap_init(lps331ap_t *dev, i2c_t i2c, uint8_t address, lps331ap_rate_t r
int lps331ap_read_temp(const lps331ap_t *dev); int lps331ap_read_temp(const lps331ap_t *dev);
/** /**
* @brief Read a pressure value from the given sensor, returned in mbar * @brief Read a pressure value from the given sensor, returned in mbar
* *
* @param[in] dev device descriptor of sensor to read from * @param[in] dev device descriptor of sensor to read from
* *
@ -94,7 +94,7 @@ int lps331ap_read_temp(const lps331ap_t *dev);
int lps331ap_read_pres(const lps331ap_t *dev); int lps331ap_read_pres(const lps331ap_t *dev);
/** /**
* @brief Enable the given sensor * @brief Enable the given sensor
* *
* @param[in] dev device descriptor of sensor to enable * @param[in] dev device descriptor of sensor to enable
* *
@ -104,7 +104,7 @@ int lps331ap_read_pres(const lps331ap_t *dev);
int lps331ap_enable(const lps331ap_t *dev); int lps331ap_enable(const lps331ap_t *dev);
/** /**
* @brief Disable the given sensor * @brief Disable the given sensor
* *
* @param[in] dev device descriptor of sensor to disable * @param[in] dev device descriptor of sensor to disable
* *

View File

@ -30,7 +30,7 @@ extern "C" {
#endif #endif
/** /**
* @brief The sensors default I2C address * @name The sensors default I2C address
* @{ * @{
*/ */
#define LSM303DLHC_ACC_DEFAULT_ADDRESS (0x19) #define LSM303DLHC_ACC_DEFAULT_ADDRESS (0x19)
@ -38,7 +38,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Possible accelerometer sample rates * @brief Possible accelerometer sample rates
*/ */
typedef enum { typedef enum {
LSM303DLHC_ACC_SAMPLE_RATE_1HZ = 0x10, /**< 1Hz sample rate */ LSM303DLHC_ACC_SAMPLE_RATE_1HZ = 0x10, /**< 1Hz sample rate */
@ -54,7 +54,7 @@ typedef enum {
} lsm303dlhc_acc_sample_rate_t; } lsm303dlhc_acc_sample_rate_t;
/** /**
* @brief Possible accelerometer scales * @brief Possible accelerometer scales
*/ */
typedef enum { typedef enum {
LSM303DLHC_ACC_SCALE_2G = 0x00, /**< +- 2g range */ LSM303DLHC_ACC_SCALE_2G = 0x00, /**< +- 2g range */
@ -64,7 +64,7 @@ typedef enum {
} lsm303dlhc_acc_scale_t; } lsm303dlhc_acc_scale_t;
/** /**
* @brief Possible magnetometer sample rates * @brief Possible magnetometer sample rates
*/ */
typedef enum { typedef enum {
LSM303DLHC_MAG_SAMPLE_RATE_0_75HZ = 0x00, /**< 0.75Hz sample rate */ LSM303DLHC_MAG_SAMPLE_RATE_0_75HZ = 0x00, /**< 0.75Hz sample rate */
@ -78,7 +78,7 @@ typedef enum {
} lsm303dlhc_mag_sample_rate_t; } lsm303dlhc_mag_sample_rate_t;
/** /**
* @brief Possible magnetometer gain values * @brief Possible magnetometer gain values
*/ */
typedef enum { typedef enum {
LSM303DLHC_MAG_GAIN_1100_980_GAUSS = 0x20, /**< 1100Gauss XYZ 980Gauss Z */ LSM303DLHC_MAG_GAIN_1100_980_GAUSS = 0x20, /**< 1100Gauss XYZ 980Gauss Z */
@ -91,7 +91,7 @@ typedef enum {
} lsm303dlhc_mag_gain_t; } lsm303dlhc_mag_gain_t;
/** /**
* @brief 3d data container * @brief 3d data container
*/ */
typedef struct { typedef struct {
int16_t x_axis; /**< holds the x axis value. WOW! */ int16_t x_axis; /**< holds the x axis value. WOW! */
@ -100,7 +100,7 @@ typedef struct {
} lsm303dlhc_3d_data_t; } lsm303dlhc_3d_data_t;
/** /**
* @brief Device descriptor for LSM303DLHC sensors * @brief Device descriptor for LSM303DLHC sensors
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C device */ i2c_t i2c; /**< I2C device */
@ -113,7 +113,7 @@ typedef struct {
} lsm303dlhc_t; } lsm303dlhc_t;
/** /**
* @brief Data structure holding all the information needed for initialization * @brief Data structure holding all the information needed for initialization
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< I2C bus used */ i2c_t i2c; /**< I2C bus used */
@ -128,7 +128,7 @@ typedef struct {
} lsm303dlhc_params_t; } lsm303dlhc_params_t;
/** /**
* @brief Initialize a new LSM303DLHC device * @brief Initialize a new LSM303DLHC device
* *
* @param[in] dev device descriptor of an LSM303DLHC device * @param[in] dev device descriptor of an LSM303DLHC device
* @param[in] i2c I2C device the sensor is connected to * @param[in] i2c I2C device the sensor is connected to
@ -153,7 +153,7 @@ int lsm303dlhc_init(lsm303dlhc_t *dev, i2c_t i2c, gpio_t acc_pin, gpio_t mag_pin
lsm303dlhc_mag_gain_t mag_gain); lsm303dlhc_mag_gain_t mag_gain);
/** /**
* @brief Read a accelerometer value from the sensor. * @brief Read a accelerometer value from the sensor.
* *
* @details This function provides raw acceleration data. To get the * @details This function provides raw acceleration data. To get the
* corresponding values in g please refer to the following * corresponding values in g please refer to the following
@ -174,7 +174,7 @@ int lsm303dlhc_init(lsm303dlhc_t *dev, i2c_t i2c, gpio_t acc_pin, gpio_t mag_pin
int lsm303dlhc_read_acc(const lsm303dlhc_t *dev, lsm303dlhc_3d_data_t *data); int lsm303dlhc_read_acc(const lsm303dlhc_t *dev, lsm303dlhc_3d_data_t *data);
/** /**
* @brief Read a magnetometer value from the sensor. * @brief Read a magnetometer value from the sensor.
* *
* @details This function returns raw magnetic data. To get the * @details This function returns raw magnetic data. To get the
* corresponding values in gauss please refer to the following * corresponding values in gauss please refer to the following
@ -198,7 +198,7 @@ int lsm303dlhc_read_acc(const lsm303dlhc_t *dev, lsm303dlhc_3d_data_t *data);
int lsm303dlhc_read_mag(const lsm303dlhc_t *dev, lsm303dlhc_3d_data_t *data); int lsm303dlhc_read_mag(const lsm303dlhc_t *dev, lsm303dlhc_3d_data_t *data);
/** /**
* @brief Read a temperature value from the sensor. * @brief Read a temperature value from the sensor.
* *
* @param[in] dev device descriptor of an LSM303DLHC device * @param[in] dev device descriptor of an LSM303DLHC device
* @param[out] value the measured temperature * @param[out] value the measured temperature
@ -209,7 +209,7 @@ int lsm303dlhc_read_mag(const lsm303dlhc_t *dev, lsm303dlhc_3d_data_t *data);
int lsm303dlhc_read_temp(const lsm303dlhc_t *dev, int16_t *value); int lsm303dlhc_read_temp(const lsm303dlhc_t *dev, int16_t *value);
/** /**
* @brief Enable the given sensor * @brief Enable the given sensor
* *
* @param[in] dev device descriptor of an LSM303DLHC device * @param[in] dev device descriptor of an LSM303DLHC device
* *
@ -219,7 +219,7 @@ int lsm303dlhc_read_temp(const lsm303dlhc_t *dev, int16_t *value);
int lsm303dlhc_enable(const lsm303dlhc_t *dev); int lsm303dlhc_enable(const lsm303dlhc_t *dev);
/** /**
* @brief Disable the given sensor * @brief Disable the given sensor
* *
* @param[in] dev device descriptor of an LSM303DLHC device * @param[in] dev device descriptor of an LSM303DLHC device
* *

View File

@ -32,7 +32,7 @@ extern "C" {
#include "periph/i2c.h" #include "periph/i2c.h"
/** /**
* @brief Data rate settings * @brief Data rate settings
*/ */
enum { enum {
LSM6DSL_DATA_RATE_POWER_DOWN = 0x0, LSM6DSL_DATA_RATE_POWER_DOWN = 0x0,
@ -50,7 +50,7 @@ enum {
}; };
/** /**
* @brief Decimation settings * @brief Decimation settings
*/ */
enum { enum {
LSM6DSL_DECIMATION_NOT_IN_FIFO = 0, LSM6DSL_DECIMATION_NOT_IN_FIFO = 0,
@ -64,7 +64,7 @@ enum {
}; };
/** /**
* @brief Accelerometer full scale * @brief Accelerometer full scale
*/ */
enum { enum {
LSM6DSL_ACC_FS_2G = 0, LSM6DSL_ACC_FS_2G = 0,
@ -75,7 +75,7 @@ enum {
}; };
/** /**
* @brief Gyroscope full scale * @brief Gyroscope full scale
*/ */
enum { enum {
LSM6DSL_GYRO_FS_245DPS = 0, LSM6DSL_GYRO_FS_245DPS = 0,
@ -86,7 +86,7 @@ enum {
}; };
/** /**
* @brief LSM6DSL driver parameters * @brief LSM6DSL driver parameters
*/ */
typedef struct { typedef struct {
i2c_t i2c; /**< i2c bus */ i2c_t i2c; /**< i2c bus */
@ -100,14 +100,14 @@ typedef struct {
} lsm6dsl_params_t; } lsm6dsl_params_t;
/** /**
* @brief LSM6DSL device descriptor * @brief LSM6DSL device descriptor
*/ */
typedef struct { typedef struct {
lsm6dsl_params_t params; /**< driver parameters */ lsm6dsl_params_t params; /**< driver parameters */
} lsm6dsl_t; } lsm6dsl_t;
/** /**
* @brief 3D output data * @brief 3D output data
*/ */
typedef struct { typedef struct {
int16_t x; /**< X axis */ int16_t x; /**< X axis */
@ -116,7 +116,7 @@ typedef struct {
} lsm6dsl_3d_data_t; } lsm6dsl_3d_data_t;
/** /**
* @brief Named return values * @brief Named return values
*/ */
enum { enum {
LSM6DSL_OK = 0, /**< all good */ LSM6DSL_OK = 0, /**< all good */
@ -126,7 +126,7 @@ enum {
}; };
/** /**
* @brief Initialize a LSM6DSL device * @brief Initialize a LSM6DSL device
* *
* @param[out] dev device to initialize * @param[out] dev device to initialize
* @param[in] params driver parameters * @param[in] params driver parameters
@ -137,7 +137,7 @@ enum {
int lsm6dsl_init(lsm6dsl_t *dev, const lsm6dsl_params_t *params); int lsm6dsl_init(lsm6dsl_t *dev, const lsm6dsl_params_t *params);
/** /**
* @brief Read accelerometer data * @brief Read accelerometer data
* *
* @param[in] dev device to read * @param[in] dev device to read
* @param[out] data accelerometer values * @param[out] data accelerometer values
@ -148,7 +148,7 @@ int lsm6dsl_init(lsm6dsl_t *dev, const lsm6dsl_params_t *params);
int lsm6dsl_read_acc(const lsm6dsl_t *dev, lsm6dsl_3d_data_t *data); int lsm6dsl_read_acc(const lsm6dsl_t *dev, lsm6dsl_3d_data_t *data);
/** /**
* @brief Read gyroscope data * @brief Read gyroscope data
* *
* @param[in] dev device to read * @param[in] dev device to read
* @param[out] data gyroscope values * @param[out] data gyroscope values
@ -159,7 +159,7 @@ int lsm6dsl_read_acc(const lsm6dsl_t *dev, lsm6dsl_3d_data_t *data);
int lsm6dsl_read_gyro(const lsm6dsl_t *dev, lsm6dsl_3d_data_t *data); int lsm6dsl_read_gyro(const lsm6dsl_t *dev, lsm6dsl_3d_data_t *data);
/** /**
* @brief Read temperature data * @brief Read temperature data
* *
* @note To avoid floating point data types but still provide high resolution * @note To avoid floating point data types but still provide high resolution
* for temperature readings, resulting values are scale by factor 100. * for temperature readings, resulting values are scale by factor 100.
@ -174,7 +174,7 @@ int lsm6dsl_read_gyro(const lsm6dsl_t *dev, lsm6dsl_3d_data_t *data);
int lsm6dsl_read_temp(const lsm6dsl_t *dev, int16_t *data); int lsm6dsl_read_temp(const lsm6dsl_t *dev, int16_t *data);
/** /**
* @brief Power down accelerometer * @brief Power down accelerometer
* *
* @param[in] dev device to power down * @param[in] dev device to power down
* *
@ -184,7 +184,7 @@ int lsm6dsl_read_temp(const lsm6dsl_t *dev, int16_t *data);
int lsm6dsl_acc_power_down(const lsm6dsl_t *dev); int lsm6dsl_acc_power_down(const lsm6dsl_t *dev);
/** /**
* @brief Power down gyroscope * @brief Power down gyroscope
* *
* @param[in] dev device to power down * @param[in] dev device to power down
* *
@ -194,7 +194,7 @@ int lsm6dsl_acc_power_down(const lsm6dsl_t *dev);
int lsm6dsl_gyro_power_down(const lsm6dsl_t *dev); int lsm6dsl_gyro_power_down(const lsm6dsl_t *dev);
/** /**
* @brief Power up accelerometer * @brief Power up accelerometer
* *
* @param[in] dev device to power up * @param[in] dev device to power up
* *
@ -204,7 +204,7 @@ int lsm6dsl_gyro_power_down(const lsm6dsl_t *dev);
int lsm6dsl_acc_power_up(const lsm6dsl_t *dev); int lsm6dsl_acc_power_up(const lsm6dsl_t *dev);
/** /**
* @brief Power up gyroscope * @brief Power up gyroscope
* *
* @param[in] dev device to power up * @param[in] dev device to power up
* *

View File

@ -55,6 +55,10 @@ enum {
#define MAG3110_I2C_ADDRESS 0x0E /**< Magnetometer Default Address */ #define MAG3110_I2C_ADDRESS 0x0E /**< Magnetometer Default Address */
#endif #endif
/**
* @name Output data rate macros
* @{
*/
#define MAG3110_DROS_8000_16 0 /**< Output Rate 80 Hz, Over Sample Ratio 16 */ #define MAG3110_DROS_8000_16 0 /**< Output Rate 80 Hz, Over Sample Ratio 16 */
#define MAG3110_DROS_4000_32 1 /**< Output Rate 40 Hz, Over Sample Ratio 32 */ #define MAG3110_DROS_4000_32 1 /**< Output Rate 40 Hz, Over Sample Ratio 32 */
#define MAG3110_DROS_2000_64 2 /**< Output Rate 20 Hz, Over Sample Ratio 64 */ #define MAG3110_DROS_2000_64 2 /**< Output Rate 20 Hz, Over Sample Ratio 64 */
@ -88,6 +92,7 @@ enum {
#define MAG3110_DROS_0016_64 30 /**< Output Rate 0.16 Hz, Over Sample Ratio 64 */ #define MAG3110_DROS_0016_64 30 /**< Output Rate 0.16 Hz, Over Sample Ratio 64 */
#define MAG3110_DROS_0008_128 31 /**< Output Rate 0.08 Hz, Over Sample Ratio 128 */ #define MAG3110_DROS_0008_128 31 /**< Output Rate 0.08 Hz, Over Sample Ratio 128 */
#define MAG3110_DROS_DEFAULT MAG3110_DROS_0125_128 /**< Default Setting for testing */ #define MAG3110_DROS_DEFAULT MAG3110_DROS_0125_128 /**< Default Setting for testing */
/** @} */
/** /**
* @brief Configuration parameters * @brief Configuration parameters
@ -101,7 +106,7 @@ typedef struct {
} mag3110_params_t; } mag3110_params_t;
/** /**
* @brief Device descriptor for MAG3110 magnetometer. * @brief Device descriptor for MAG3110 magnetometer.
*/ */
typedef struct { typedef struct {
mag3110_params_t params; /**< device configuration parameters */ mag3110_params_t params; /**< device configuration parameters */
@ -117,7 +122,7 @@ typedef struct {
} mag3110_data_t; } mag3110_data_t;
/** /**
* @brief Initialise the MAG3110 magnetometer driver. * @brief Initialise the MAG3110 magnetometer driver.
* *
* @param[out] dev device descriptor of magnetometer to initialize * @param[out] dev device descriptor of magnetometer to initialize
* @param[in] params configuration parameters * @param[in] params configuration parameters
@ -130,7 +135,8 @@ typedef struct {
int mag3110_init(mag3110_t *dev, const mag3110_params_t *params); int mag3110_init(mag3110_t *dev, const mag3110_params_t *params);
/** /**
* @brief Set user offset correction. * @brief Set user offset correction.
*
* Offset correction register will be erased after accelerometer reset. * Offset correction register will be erased after accelerometer reset.
* *
* @param[out] dev device descriptor of magnetometer * @param[out] dev device descriptor of magnetometer
@ -144,7 +150,7 @@ int mag3110_init(mag3110_t *dev, const mag3110_params_t *params);
int mag3110_set_user_offset(const mag3110_t *dev, int16_t x, int16_t y, int16_t z); int mag3110_set_user_offset(const mag3110_t *dev, int16_t x, int16_t y, int16_t z);
/** /**
* @brief Set active mode, this enables periodic measurements. * @brief Set active mode, this enables periodic measurements.
* *
* @param[out] dev device descriptor of magnetometer * @param[out] dev device descriptor of magnetometer
* *
@ -154,7 +160,7 @@ int mag3110_set_user_offset(const mag3110_t *dev, int16_t x, int16_t y, int16_t
int mag3110_set_active(const mag3110_t *dev); int mag3110_set_active(const mag3110_t *dev);
/** /**
* @brief Set standby mode. * @brief Set standby mode.
* *
* @param[in] dev device descriptor of magnetometer * @param[in] dev device descriptor of magnetometer
* *
@ -164,7 +170,7 @@ int mag3110_set_active(const mag3110_t *dev);
int mag3110_set_standby(const mag3110_t *dev); int mag3110_set_standby(const mag3110_t *dev);
/** /**
* @brief Check for new set of measurement data. * @brief Check for new set of measurement data.
* *
* @param[in] dev device descriptor of magnetometer * @param[in] dev device descriptor of magnetometer
* *
@ -175,7 +181,8 @@ int mag3110_set_standby(const mag3110_t *dev);
int mag3110_is_ready(const mag3110_t *dev); int mag3110_is_ready(const mag3110_t *dev);
/** /**
* @brief Read magnetometer's data. * @brief Read magnetometer's data.
*
* To get the actual values for the magnetic field in \f$\mu T\f$, * To get the actual values for the magnetic field in \f$\mu T\f$,
* one have to divide the returned values from the magnetometer by 10. * one have to divide the returned values from the magnetometer by 10.
* *
@ -188,7 +195,7 @@ int mag3110_is_ready(const mag3110_t *dev);
int mag3110_read(const mag3110_t *dev, mag3110_data_t *data); int mag3110_read(const mag3110_t *dev, mag3110_data_t *data);
/** /**
* @brief Read die temperature. * @brief Read die temperature.
* *
* @param[in] dev device descriptor of magnetometer * @param[in] dev device descriptor of magnetometer
* @param[out] dtemp die temperature * @param[out] dtemp die temperature

View File

@ -74,9 +74,9 @@ enum {
#ifndef MPL3115A2_CONVERSION_TIME #ifndef MPL3115A2_CONVERSION_TIME
/** /**
* @brief Maximum Conversion Time in microseconds [us] * @brief Maximum Conversion Time in microseconds [us]
* *
* @note Conversion time is: ((oversampling ratio * 4) + 2) * 1000 us * @note Conversion time is: ((oversampling ratio * 4) + 2) * 1000 us
*/ */
#define MPL3115A2_CONVERSION_TIME (514000UL) #define MPL3115A2_CONVERSION_TIME (514000UL)
#endif #endif
@ -91,14 +91,14 @@ typedef struct {
} mpl3115a2_params_t; } mpl3115a2_params_t;
/** /**
* @brief Device descriptor for MPL3115A2 sensors. * @brief Device descriptor for MPL3115A2 sensors.
*/ */
typedef struct { typedef struct {
mpl3115a2_params_t params; /**< device configuration parameters */ mpl3115a2_params_t params; /**< device configuration parameters */
} mpl3115a2_t; } mpl3115a2_t;
/** /**
* @brief Initialize the MPL3115A2 sensor driver. * @brief Initialize the MPL3115A2 sensor driver.
* *
* @param[out] dev device descriptor of sensor to initialize * @param[out] dev device descriptor of sensor to initialize
* @param[in] params configuration parameters * @param[in] params configuration parameters
@ -111,7 +111,7 @@ typedef struct {
int mpl3115a2_init(mpl3115a2_t *dev, const mpl3115a2_params_t *params); int mpl3115a2_init(mpl3115a2_t *dev, const mpl3115a2_params_t *params);
/** /**
* @brief Reset the MPL3115A2 sensor. After that, the sensor should be reinitialized. * @brief Reset the MPL3115A2 sensor. After that, the sensor should be reinitialized.
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* *
@ -121,7 +121,7 @@ int mpl3115a2_init(mpl3115a2_t *dev, const mpl3115a2_params_t *params);
int mpl3115a2_reset(const mpl3115a2_t *dev); int mpl3115a2_reset(const mpl3115a2_t *dev);
/** /**
* @brief Set active mode, this enables periodic measurements. * @brief Set active mode, this enables periodic measurements.
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* *
@ -131,7 +131,7 @@ int mpl3115a2_reset(const mpl3115a2_t *dev);
int mpl3115a2_set_active(const mpl3115a2_t *dev); int mpl3115a2_set_active(const mpl3115a2_t *dev);
/** /**
* @brief Set standby mode. * @brief Set standby mode.
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* *
@ -141,7 +141,7 @@ int mpl3115a2_set_active(const mpl3115a2_t *dev);
int mpl3115a2_set_standby(const mpl3115a2_t *dev); int mpl3115a2_set_standby(const mpl3115a2_t *dev);
/** /**
* @brief Check for new set of measurement data. * @brief Check for new set of measurement data.
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* *
@ -152,7 +152,7 @@ int mpl3115a2_set_standby(const mpl3115a2_t *dev);
int mpl3115a2_is_ready(const mpl3115a2_t *dev); int mpl3115a2_is_ready(const mpl3115a2_t *dev);
/** /**
* @brief Read sensor's data in pressure mode. * @brief Read sensor's data in pressure mode.
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* @param[out] pres pressure in Pascals * @param[out] pres pressure in Pascals
@ -164,7 +164,7 @@ int mpl3115a2_is_ready(const mpl3115a2_t *dev);
int mpl3115a2_read_pressure(const mpl3115a2_t *dev, uint32_t *pres, uint8_t *status); int mpl3115a2_read_pressure(const mpl3115a2_t *dev, uint32_t *pres, uint8_t *status);
/** /**
* @brief Read sensor's temperature. * @brief Read sensor's temperature.
* *
* @param[in] dev device descriptor of sensor * @param[in] dev device descriptor of sensor
* @param[out] temp temperature in \f$^\circ C \cdot 10\f$ * @param[out] temp temperature in \f$^\circ C \cdot 10\f$

View File

@ -28,7 +28,7 @@ extern "C" {
#endif #endif
/** /**
* @name Sample rate macro definitions * @name Sample rate macro definitions
* @{ * @{
*/ */
#define MPU9150_MIN_SAMPLE_RATE (4) #define MPU9150_MIN_SAMPLE_RATE (4)
@ -39,7 +39,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name Power Management 1 register macros * @name Power Management 1 register macros
* @{ * @{
*/ */
#define MPU9150_PWR_WAKEUP (0x00) #define MPU9150_PWR_WAKEUP (0x00)
@ -48,7 +48,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name Power Management 2 register macros * @name Power Management 2 register macros
* @{ * @{
*/ */
#define MPU9150_PWR_GYRO (0x07) #define MPU9150_PWR_GYRO (0x07)
@ -56,7 +56,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name Sleep times in microseconds * @name Sleep times in microseconds
* @{ * @{
*/ */
#define MPU9150_COMP_MODE_SLEEP_US (1000) #define MPU9150_COMP_MODE_SLEEP_US (1000)
@ -66,7 +66,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @name MPU-9150 compass operating modes and reg values * @name MPU-9150 compass operating modes and reg values
* @{ * @{
*/ */
#define MPU9150_COMP_POWER_DOWN (0x00) #define MPU9150_COMP_POWER_DOWN (0x00)
@ -77,7 +77,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Power enum values * @brief Power enum values
*/ */
typedef enum { typedef enum {
MPU9150_SENSOR_PWR_OFF = 0x00, MPU9150_SENSOR_PWR_OFF = 0x00,
@ -85,7 +85,7 @@ typedef enum {
} mpu9150_pwr_t; } mpu9150_pwr_t;
/** /**
* @brief Possible MPU-9150 hardware addresses (wiring specific) * @brief Possible MPU-9150 hardware addresses (wiring specific)
*/ */
typedef enum { typedef enum {
MPU9150_HW_ADDR_HEX_68 = 0x68, MPU9150_HW_ADDR_HEX_68 = 0x68,
@ -93,7 +93,7 @@ typedef enum {
} mpu9150_hw_addr_t; } mpu9150_hw_addr_t;
/** /**
* @brief Possible compass addresses (wiring specific) * @brief Possible compass addresses (wiring specific)
*/ */
typedef enum { typedef enum {
MPU9150_COMP_ADDR_HEX_0C = 0x0C, MPU9150_COMP_ADDR_HEX_0C = 0x0C,
@ -103,7 +103,7 @@ typedef enum {
} mpu9150_comp_addr_t; } mpu9150_comp_addr_t;
/** /**
* @brief Possible full scale ranges for the gyroscope * @brief Possible full scale ranges for the gyroscope
*/ */
typedef enum { typedef enum {
MPU9150_GYRO_FSR_250DPS = 0x00, MPU9150_GYRO_FSR_250DPS = 0x00,
@ -113,7 +113,7 @@ typedef enum {
} mpu9150_gyro_ranges_t; } mpu9150_gyro_ranges_t;
/** /**
* @brief Possible full scale ranges for the accelerometer * @brief Possible full scale ranges for the accelerometer
*/ */
typedef enum { typedef enum {
MPU9150_ACCEL_FSR_2G = 0x00, MPU9150_ACCEL_FSR_2G = 0x00,
@ -123,7 +123,7 @@ typedef enum {
} mpu9150_accel_ranges_t; } mpu9150_accel_ranges_t;
/** /**
* @brief Possible low pass filter values * @brief Possible low pass filter values
*/ */
typedef enum { typedef enum {
MPU9150_FILTER_188HZ = 0x01, MPU9150_FILTER_188HZ = 0x01,
@ -135,7 +135,7 @@ typedef enum {
} mpu9150_lpf_t; } mpu9150_lpf_t;
/** /**
* @brief MPU-9150 result vector struct * @brief MPU-9150 result vector struct
*/ */
typedef struct { typedef struct {
int16_t x_axis; /**< X-Axis measurement result */ int16_t x_axis; /**< X-Axis measurement result */
@ -144,7 +144,7 @@ typedef struct {
} mpu9150_results_t; } mpu9150_results_t;
/** /**
* @brief Configuration struct for the MPU-9150 sensor * @brief Configuration struct for the MPU-9150 sensor
*/ */
typedef struct { typedef struct {
mpu9150_pwr_t accel_pwr; /**< Accel power status (on/off) */ mpu9150_pwr_t accel_pwr; /**< Accel power status (on/off) */
@ -160,7 +160,7 @@ typedef struct {
} mpu9150_status_t; } mpu9150_status_t;
/** /**
* @brief Device descriptor for the MPU-9150 sensor * @brief Device descriptor for the MPU-9150 sensor
*/ */
typedef struct { typedef struct {
i2c_t i2c_dev; /**< I2C device which is used */ i2c_t i2c_dev; /**< I2C device which is used */
@ -170,7 +170,7 @@ typedef struct {
} mpu9150_t; } mpu9150_t;
/** /**
* @brief Initialize the given MPU9150 device * @brief Initialize the given MPU9150 device
* *
* @param[out] dev Initialized device descriptor of MPU9150 device * @param[out] dev Initialized device descriptor of MPU9150 device
* @param[in] i2c I2C bus the sensor is connected to * @param[in] i2c I2C bus the sensor is connected to
@ -184,7 +184,7 @@ int mpu9150_init(mpu9150_t *dev, i2c_t i2c, mpu9150_hw_addr_t hw_addr,
mpu9150_comp_addr_t comp_addr); mpu9150_comp_addr_t comp_addr);
/** /**
* @brief Enable or disable accelerometer power * @brief Enable or disable accelerometer power
* *
* @param[in] dev Device descriptor of MPU9150 device * @param[in] dev Device descriptor of MPU9150 device
* @param[in] pwr_conf Target power setting: PWR_ON or PWR_OFF * @param[in] pwr_conf Target power setting: PWR_ON or PWR_OFF
@ -195,7 +195,7 @@ int mpu9150_init(mpu9150_t *dev, i2c_t i2c, mpu9150_hw_addr_t hw_addr,
int mpu9150_set_accel_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf); int mpu9150_set_accel_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf);
/** /**
* @brief Enable or disable gyroscope power * @brief Enable or disable gyroscope power
* *
* @param[in] dev Device descriptor of MPU9150 device * @param[in] dev Device descriptor of MPU9150 device
* @param[in] pwr_conf Target power setting: PWR_ON or PWR_OFF * @param[in] pwr_conf Target power setting: PWR_ON or PWR_OFF
@ -206,7 +206,7 @@ int mpu9150_set_accel_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf);
int mpu9150_set_gyro_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf); int mpu9150_set_gyro_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf);
/** /**
* @brief Enable or disable compass power * @brief Enable or disable compass power
* *
* @param[in] dev Device descriptor of MPU9150 device * @param[in] dev Device descriptor of MPU9150 device
* @param[in] pwr_conf Target power setting: PWR_ON or PWR_OFF * @param[in] pwr_conf Target power setting: PWR_ON or PWR_OFF
@ -217,7 +217,7 @@ int mpu9150_set_gyro_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf);
int mpu9150_set_compass_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf); int mpu9150_set_compass_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf);
/** /**
* @brief Read angular speed values from the given MPU9150 device, returned in dps * @brief Read angular speed values from the given MPU9150 device, returned in dps
* *
* The raw gyroscope data is read from the sensor and normalized with respect to * The raw gyroscope data is read from the sensor and normalized with respect to
* the configured gyroscope full-scale range. * the configured gyroscope full-scale range.
@ -232,7 +232,7 @@ int mpu9150_set_compass_power(mpu9150_t *dev, mpu9150_pwr_t pwr_conf);
int mpu9150_read_gyro(const mpu9150_t *dev, mpu9150_results_t *output); int mpu9150_read_gyro(const mpu9150_t *dev, mpu9150_results_t *output);
/** /**
* @brief Read acceleration values from the given MPU9150 device, returned in mG * @brief Read acceleration values from the given MPU9150 device, returned in mG
* *
* The raw acceleration data is read from the sensor and normalized with respect to * The raw acceleration data is read from the sensor and normalized with respect to
* the configured accelerometer full-scale range. * the configured accelerometer full-scale range.
@ -247,7 +247,7 @@ int mpu9150_read_gyro(const mpu9150_t *dev, mpu9150_results_t *output);
int mpu9150_read_accel(const mpu9150_t *dev, mpu9150_results_t *output); int mpu9150_read_accel(const mpu9150_t *dev, mpu9150_results_t *output);
/** /**
* @brief Read magnetic field values from the given MPU9150 device, returned in mikroT * @brief Read magnetic field values from the given MPU9150 device, returned in mikroT
* *
* The raw compass data is read from the sensor and normalized with respect to * The raw compass data is read from the sensor and normalized with respect to
* the compass full-scale range (which can not be configured). * the compass full-scale range (which can not be configured).
@ -261,7 +261,7 @@ int mpu9150_read_accel(const mpu9150_t *dev, mpu9150_results_t *output);
int mpu9150_read_compass(const mpu9150_t *dev, mpu9150_results_t *output); int mpu9150_read_compass(const mpu9150_t *dev, mpu9150_results_t *output);
/** /**
* @brief Read temperature value from the given MPU9150 device, returned in m°C * @brief Read temperature value from the given MPU9150 device, returned in m°C
* *
* @note * @note
* The measured temperature is slightly higher than the real room temperature. * The measured temperature is slightly higher than the real room temperature.
@ -276,7 +276,7 @@ int mpu9150_read_compass(const mpu9150_t *dev, mpu9150_results_t *output);
int mpu9150_read_temperature(const mpu9150_t *dev, int32_t *output); int mpu9150_read_temperature(const mpu9150_t *dev, int32_t *output);
/** /**
* @brief Set the full-scale range for raw gyroscope data * @brief Set the full-scale range for raw gyroscope data
* *
* @param[in] dev Device descriptor of MPU9150 device * @param[in] dev Device descriptor of MPU9150 device
* @param[in] fsr Target full-scale range * @param[in] fsr Target full-scale range
@ -288,7 +288,7 @@ int mpu9150_read_temperature(const mpu9150_t *dev, int32_t *output);
int mpu9150_set_gyro_fsr(mpu9150_t *dev, mpu9150_gyro_ranges_t fsr); int mpu9150_set_gyro_fsr(mpu9150_t *dev, mpu9150_gyro_ranges_t fsr);
/** /**
* @brief Set the full-scale range for raw accelerometer data * @brief Set the full-scale range for raw accelerometer data
* *
* @param[in] dev Device descriptor of MPU9150 device * @param[in] dev Device descriptor of MPU9150 device
* @param[in] fsr Target full-scale range * @param[in] fsr Target full-scale range
@ -300,7 +300,7 @@ int mpu9150_set_gyro_fsr(mpu9150_t *dev, mpu9150_gyro_ranges_t fsr);
int mpu9150_set_accel_fsr(mpu9150_t *dev, mpu9150_accel_ranges_t fsr); int mpu9150_set_accel_fsr(mpu9150_t *dev, mpu9150_accel_ranges_t fsr);
/** /**
* @brief Set the rate at which the gyroscope and accelerometer data is sampled * @brief Set the rate at which the gyroscope and accelerometer data is sampled
* *
* Sample rate can be chosen between 4 Hz and 1kHz. The actual set value might * Sample rate can be chosen between 4 Hz and 1kHz. The actual set value might
* slightly differ. If necessary, check the actual set value in the device's * slightly differ. If necessary, check the actual set value in the device's
@ -316,7 +316,7 @@ int mpu9150_set_accel_fsr(mpu9150_t *dev, mpu9150_accel_ranges_t fsr);
int mpu9150_set_sample_rate(mpu9150_t *dev, uint16_t rate); int mpu9150_set_sample_rate(mpu9150_t *dev, uint16_t rate);
/** /**
* @brief Set the rate at which the compass data is sampled * @brief Set the rate at which the compass data is sampled
* *
* Sample rate can be chosen between 1 Hz and 100 Hz but has to be a fraction * Sample rate can be chosen between 1 Hz and 100 Hz but has to be a fraction
* of the configured accel/gyro sample rate. The actual set value might * of the configured accel/gyro sample rate. The actual set value might

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @defgroup driver_mq3 MQ-3 Alcohol Tester * @defgroup drivers_mq3 MQ-3 Alcohol Tester
* @ingroup drivers_sensors * @ingroup drivers_sensors
* @brief Device driver for the MQ-3 alcohol sensor * @brief Device driver for the MQ-3 alcohol sensor
* @{ * @{
@ -28,19 +28,19 @@ extern "C" {
#endif #endif
/** /**
* @brief maximum unprocessed value fetched form the sensor * @brief maximum unprocessed value fetched form the sensor
*/ */
#define MQ3_MAX_RAW_VALUE (1023U) #define MQ3_MAX_RAW_VALUE (1023U)
/** /**
* @brief device descriptor for a MQ-3 sensor * @brief device descriptor for a MQ-3 sensor
*/ */
typedef struct { typedef struct {
adc_t adc_line; /**< the used ADC line */ adc_t adc_line; /**< the used ADC line */
} mq3_t; } mq3_t;
/** /**
* @brief Initialize a MQ-3 alcohol sensor * @brief Initialize a MQ-3 alcohol sensor
* *
* The MQ-3 sensor is interfaced by a single ADC pin, specified by `adc` and `channel`. * The MQ-3 sensor is interfaced by a single ADC pin, specified by `adc` and `channel`.
* *
@ -56,7 +56,7 @@ typedef struct {
int mq3_init(mq3_t *dev, adc_t adc_line); int mq3_init(mq3_t *dev, adc_t adc_line);
/** /**
* @brief Read the RAW sensor value, can be between 0 and MQ3_MAX_RAW_VALUE * @brief Read the RAW sensor value, can be between 0 and MQ3_MAX_RAW_VALUE
* *
* @param[in] dev device descriptor of the MQ-3 sensor to read from * @param[in] dev device descriptor of the MQ-3 sensor to read from
* *
@ -65,7 +65,7 @@ int mq3_init(mq3_t *dev, adc_t adc_line);
int mq3_read_raw(const mq3_t *dev); int mq3_read_raw(const mq3_t *dev);
/** /**
* @brief Read the scaled sensor value of PPM of alcohol * @brief Read the scaled sensor value of PPM of alcohol
* *
* @param[in] dev device descriptor of the MQ-3 sensor to read from * @param[in] dev device descriptor of the MQ-3 sensor to read from
* *

View File

@ -14,6 +14,42 @@
* This module contains drivers for radio devices in Microchip MRF24J40 series. * This module contains drivers for radio devices in Microchip MRF24J40 series.
* The driver is aimed to work with all devices of this series. * The driver is aimed to work with all devices of this series.
* *
* Default TX power is 0dBm.
*
* TX power mapping:
* * 0 -> -36dB
* * 1 -> -35dB
* * 2 -> -34dB
* * 3 -> -33dB
* * 4 -> -32dB
* * 5 -> -31dB
* * 6 -> -30dB
* * 7 -> -30dB
* * 8 -> -26dB
* * 9 -> -25dB
* * 10 -> -24dB
* * 11 -> -23dB
* * 12 -> -22dB
* * 13 -> -21dB
* * 14 -> -20dB
* * 15 -> -20dB
* * 16 -> -16dB
* * 17 -> -15dB
* * 18 -> -14dB
* * 19 -> -13dB
* * 20 -> -12dB
* * 21 -> -11dB
* * 22 -> -10dB
* * 23 -> -10dB
* * 24 -> -6dB
* * 25 -> -5dB
* * 26 -> -4dB
* * 27 -> -3dB
* * 28 -> -2dB
* * 29 -> -1dB
* * 30 -> -0dB
* * 31 -> -0dB
*
* @{ * @{
* *
* @file * @file
@ -40,43 +76,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Default TX power (0dBm) * @name Flags for pseudo device internal states
* 0 -> -36dB
* 1 -> -35dB
* 2 -> -34dB
* 3 -> -33dB
* 4 -> -32dB
* 5 -> -31dB
* 6 -> -30dB
* 7 -> -30dB
* 8 -> -26dB
* 9 -> -25dB
* 10 -> -24dB
* 11 -> -23dB
* 12 -> -22dB
* 13 -> -21dB
* 14 -> -20dB
* 15 -> -20dB
* 16 -> -16dB
* 17 -> -15dB
* 18 -> -14dB
* 19 -> -13dB
* 20 -> -12dB
* 21 -> -11dB
* 22 -> -10dB
* 23 -> -10dB
* 24 -> -6dB
* 25 -> -5dB
* 26 -> -4dB
* 27 -> -3dB
* 28 -> -2dB
* 29 -> -1dB
* 30 -> -0dB
* 31 -> -0dB
*/
/**
* @brief Flags for PSEUDO DEVICE INTERNAL STATES
* @{ * @{
*/ */
#define MRF24J40_PSEUDO_STATE_IDLE (0x01) /**< Idle, ready to transmit or receive */ #define MRF24J40_PSEUDO_STATE_IDLE (0x01) /**< Idle, ready to transmit or receive */
@ -85,7 +85,7 @@ extern "C" {
/** @} */ /** @} */
/** /**
* @brief Internal device option flags * @name Internal device option flags
* *
* `0x00ff` is reserved for general IEEE 802.15.4 flags * `0x00ff` is reserved for general IEEE 802.15.4 flags
* (see @ref netdev_ieee802154_t) * (see @ref netdev_ieee802154_t)
@ -116,12 +116,12 @@ extern "C" {
#define MRF24J40_MAX_FRAME_RETRIES (3U) /**< Number of frame retries (fixed) */ #define MRF24J40_MAX_FRAME_RETRIES (3U) /**< Number of frame retries (fixed) */
/** /**
* @brief struct holding all params needed for device initialization * @brief struct holding all params needed for device initialization
*/ */
typedef struct mrf24j40_params { typedef struct mrf24j40_params {
spi_t spi; /**< SPI bus the device is connected to */ spi_t spi; /**< SPI bus the device is connected to */
spi_clk_t spi_clk; /**< SPI speed to use */ spi_clk_t spi_clk; /**< SPI speed to use */
spi_cs_t cs_pin; /**< GPIO pin connected to chip select */ spi_cs_t cs_pin; /**< GPIO pin connected to chip select */
gpio_t int_pin; /**< GPIO pin connected to the interrupt pin */ gpio_t int_pin; /**< GPIO pin connected to the interrupt pin */
gpio_t reset_pin; /**< GPIO pin connected to the reset pin */ gpio_t reset_pin; /**< GPIO pin connected to the reset pin */
} mrf24j40_params_t; } mrf24j40_params_t;
@ -131,17 +131,14 @@ typedef struct mrf24j40_params {
*/ */
typedef struct { typedef struct {
netdev_ieee802154_t netdev; /**< netdev parent struct */ netdev_ieee802154_t netdev; /**< netdev parent struct */
/** /* device specific fields */
* @brief device specific fields
* @{
*/
mrf24j40_params_t params; /**< parameters for initialization */ mrf24j40_params_t params; /**< parameters for initialization */
uint8_t state; /**< current state of the radio */ uint8_t state; /**< current state of the radio */
uint8_t idle_state; /**< state to return to after sending */ uint8_t idle_state; /**< state to return to after sending */
uint8_t tx_frame_len; /**< length of the current TX frame */ uint8_t tx_frame_len; /**< length of the current TX frame */
uint8_t header_len; uint8_t header_len; /**< length of the header */
uint8_t pending; /**< Flags for pending tasks */ uint8_t pending; /**< Flags for pending tasks */
uint8_t irq_flag; uint8_t irq_flag; /**< Flags for IRQs */
} mrf24j40_t; } mrf24j40_t;
/** /**

View File

@ -33,7 +33,7 @@ extern "C" {
#endif #endif
/** /**
* @brief MTD power states * @brief MTD power states
*/ */
enum mtd_power_state { enum mtd_power_state {
MTD_POWER_UP, /**< Power up */ MTD_POWER_UP, /**< Power up */
@ -41,7 +41,7 @@ enum mtd_power_state {
}; };
/** /**
* @brief MTD driver interface * @brief MTD driver interface
* *
* This define the functions to access a MTD. * This define the functions to access a MTD.
* *
@ -53,7 +53,7 @@ enum mtd_power_state {
typedef struct mtd_desc mtd_desc_t; typedef struct mtd_desc mtd_desc_t;
/** /**
* @brief MTD device descriptor * @brief MTD device descriptor
*/ */
typedef struct { typedef struct {
const mtd_desc_t *driver; /**< MTD driver */ const mtd_desc_t *driver; /**< MTD driver */
@ -63,7 +63,7 @@ typedef struct {
} mtd_dev_t; } mtd_dev_t;
/** /**
* @brief MTD driver interface * @brief MTD driver interface
* *
* This define the functions to access a MTD. * This define the functions to access a MTD.
* *
@ -74,7 +74,7 @@ typedef struct {
*/ */
struct mtd_desc { struct mtd_desc {
/** /**
* @brief Initialize Memory Technology Device (MTD) * @brief Initialize Memory Technology Device (MTD)
* *
* @param[in] dev Pointer to the selected driver * @param[in] dev Pointer to the selected driver
* *
@ -84,7 +84,7 @@ struct mtd_desc {
int (*init)(mtd_dev_t *dev); int (*init)(mtd_dev_t *dev);
/** /**
* @brief Read from the Memory Technology Device (MTD) * @brief Read from the Memory Technology Device (MTD)
* *
* No alignment is required on @p addr and @p size. * No alignment is required on @p addr and @p size.
* *
@ -102,7 +102,7 @@ struct mtd_desc {
uint32_t size); uint32_t size);
/** /**
* @brief Write to the Memory Technology Device (MTD) * @brief Write to the Memory Technology Device (MTD)
* *
* @p addr + @p size must be inside a page boundary. @p addr can be anywhere * @p addr + @p size must be inside a page boundary. @p addr can be anywhere
* but the buffer cannot overlap two pages. * but the buffer cannot overlap two pages.
@ -121,7 +121,7 @@ struct mtd_desc {
uint32_t size); uint32_t size);
/** /**
* @brief Erase sector(s) over the Memory Technology Device (MTD) * @brief Erase sector(s) over the Memory Technology Device (MTD)
* *
* @p addr must be aligned on a sector boundary. @p size must be a multiple of a sector size. * @p addr must be aligned on a sector boundary. @p size must be a multiple of a sector size.
* *
@ -137,7 +137,7 @@ struct mtd_desc {
uint32_t size); uint32_t size);
/** /**
* @brief Control power of Memory Technology Device (MTD) * @brief Control power of Memory Technology Device (MTD)
* *
* @param[in] dev Pointer to the selected driver * @param[in] dev Pointer to the selected driver
* @param[in] power Power state to apply (from @ref mtd_power_state) * @param[in] power Power state to apply (from @ref mtd_power_state)
@ -149,7 +149,7 @@ struct mtd_desc {
}; };
/** /**
* @brief mtd_init Initialize a MTD device * @brief mtd_init Initialize a MTD device
* *
* @param mtd the device to initialize * @param mtd the device to initialize
* *
@ -158,7 +158,7 @@ struct mtd_desc {
int mtd_init(mtd_dev_t *mtd); int mtd_init(mtd_dev_t *mtd);
/** /**
* @brief mtd_read Read data from a MTD device * @brief mtd_read Read data from a MTD device
* *
* No alignment is required on @p addr and @p count. * No alignment is required on @p addr and @p count.
* *
@ -177,7 +177,7 @@ int mtd_init(mtd_dev_t *mtd);
int mtd_read(mtd_dev_t *mtd, void *dest, uint32_t addr, uint32_t count); int mtd_read(mtd_dev_t *mtd, void *dest, uint32_t addr, uint32_t count);
/** /**
* @brief mtd_read write data to a MTD device * @brief mtd_read write data to a MTD device
* *
* @p addr + @p count must be inside a page boundary. @p addr can be anywhere * @p addr + @p count must be inside a page boundary. @p addr can be anywhere
* but the buffer cannot overlap two pages. * but the buffer cannot overlap two pages.
@ -198,7 +198,7 @@ int mtd_read(mtd_dev_t *mtd, void *dest, uint32_t addr, uint32_t count);
int mtd_write(mtd_dev_t *mtd, const void *src, uint32_t addr, uint32_t count); int mtd_write(mtd_dev_t *mtd, const void *src, uint32_t addr, uint32_t count);
/** /**
* @brief mtd_erase Erase sectors of a MTD device * @brief mtd_erase Erase sectors of a MTD device
* *
* @p addr must be aligned on a sector boundary. @p count must be a multiple of a sector size. * @p addr must be aligned on a sector boundary. @p count must be a multiple of a sector size.
* *
@ -216,7 +216,7 @@ int mtd_write(mtd_dev_t *mtd, const void *src, uint32_t addr, uint32_t count);
int mtd_erase(mtd_dev_t *mtd, uint32_t addr, uint32_t count); int mtd_erase(mtd_dev_t *mtd, uint32_t addr, uint32_t count);
/** /**
* @brief mtd_power Set power mode on a MTD device * @brief mtd_power Set power mode on a MTD device
* *
* @param mtd the device to access * @param mtd the device to access
* @param[in] power the power mode to set * @param[in] power the power mode to set
@ -231,7 +231,7 @@ int mtd_power(mtd_dev_t *mtd, enum mtd_power_state power);
#if defined(MODULE_VFS) || defined(DOXYGEN) #if defined(MODULE_VFS) || defined(DOXYGEN)
/** /**
* @brief MTD driver for VFS * @brief MTD driver for VFS
*/ */
extern const vfs_file_ops_t mtd_vfs_ops; extern const vfs_file_ops_t mtd_vfs_ops;
#endif #endif
@ -240,5 +240,5 @@ extern const vfs_file_ops_t mtd_vfs_ops;
} }
#endif #endif
/** @} */
#endif /* MTD_H */ #endif /* MTD_H */
/** @} */

View File

@ -33,7 +33,7 @@ extern "C"
#endif #endif
/** /**
* @brief Device descriptor for mtd_sdcard device * @brief Device descriptor for mtd_sdcard device
* *
* This is an extension of the @c mtd_dev_t struct * This is an extension of the @c mtd_dev_t struct
*/ */
@ -45,17 +45,17 @@ typedef struct {
/** /**
* @brief sdcards handle sector erase internally so it's possible to directly * @brief sdcards handle sector erase internally so it's possible to directly
* write to the card without erasing the sector first. * write to the card without erasing the sector first.
* Attention: an erase call will therefore NOT touch the content, * Attention: an erase call will therefore NOT touch the content,
* so disable this feature to ensure overriding the data. * so disable this feature to ensure overriding the data.
*/ */
#ifndef MTD_SDCARD_SKIP_ERASE #ifndef MTD_SDCARD_SKIP_ERASE
#define MTD_SDCARD_SKIP_ERASE (1) #define MTD_SDCARD_SKIP_ERASE (1)
#endif #endif
/** /**
* @brief sdcard device operations table for mtd * @brief sdcard device operations table for mtd
*/ */
extern const mtd_desc_t mtd_sdcard_driver; extern const mtd_desc_t mtd_sdcard_driver;

View File

@ -37,7 +37,7 @@ extern "C"
#endif #endif
/** /**
* @brief SPI NOR flash opcode table * @brief SPI NOR flash opcode table
*/ */
typedef struct { typedef struct {
uint8_t rdid; /**< Read identification (JEDEC ID) */ uint8_t rdid; /**< Read identification (JEDEC ID) */
@ -57,7 +57,7 @@ typedef struct {
} mtd_spi_nor_opcode_t; } mtd_spi_nor_opcode_t;
/** /**
* @brief Internal representation of JEDEC memory ID codes. * @brief Internal representation of JEDEC memory ID codes.
* *
* @see http://www.jedec.org/standards-documents/results/jep106 * @see http://www.jedec.org/standards-documents/results/jep106
*/ */
@ -68,23 +68,23 @@ typedef struct __attribute__((packed)) {
} mtd_jedec_id_t; } mtd_jedec_id_t;
/** /**
* @brief Byte to signal increment bank number when reading manufacturer ID * @brief Byte to signal increment bank number when reading manufacturer ID
* *
* @see http://www.jedec.org/standards-documents/results/jep106 * @see http://www.jedec.org/standards-documents/results/jep106
*/ */
#define JEDEC_NEXT_BANK (0x7f) #define JEDEC_NEXT_BANK (0x7f)
/** /**
* @brief Flag to set when the device support 4KiB sector erase (sector_erase opcode) * @brief Flag to set when the device support 4KiB sector erase (sector_erase opcode)
*/ */
#define SPI_NOR_F_SECT_4K (1) #define SPI_NOR_F_SECT_4K (1)
/** /**
* @brief Flag to set when the device support 32KiB block erase (block_erase_32k opcode) * @brief Flag to set when the device support 32KiB block erase (block_erase_32k opcode)
*/ */
#define SPI_NOR_F_SECT_32K (2) #define SPI_NOR_F_SECT_32K (2)
/** /**
* @brief Device descriptor for serial flash memory devices * @brief Device descriptor for serial flash memory devices
* *
* This is an extension of the @c mtd_dev_t struct * This is an extension of the @c mtd_dev_t struct
*/ */
@ -98,26 +98,26 @@ typedef struct {
uint16_t flag; /**< Config flags */ uint16_t flag; /**< Config flags */
mtd_jedec_id_t jedec_id; /**< JEDEC ID of the chip */ mtd_jedec_id_t jedec_id; /**< JEDEC ID of the chip */
/** /**
* @brief bitmask to corresponding to the page address * @brief bitmask to corresponding to the page address
* *
* Computed by mtd_spi_nor_init, no need to touch outside the driver. * Computed by mtd_spi_nor_init, no need to touch outside the driver.
*/ */
uint32_t page_addr_mask; uint32_t page_addr_mask;
/** /**
* @brief bitmask to corresponding to the sector address * @brief bitmask to corresponding to the sector address
* *
* Computed by mtd_spi_nor_init, no need to touch outside the driver. * Computed by mtd_spi_nor_init, no need to touch outside the driver.
*/ */
uint32_t sec_addr_mask; uint32_t sec_addr_mask;
uint8_t addr_width; /**< Number of bytes in addresses, usually 3 for small devices */ uint8_t addr_width; /**< Number of bytes in addresses, usually 3 for small devices */
/** /**
* @brief number of right shifts to get the address to the start of the page * @brief number of right shifts to get the address to the start of the page
* *
* Computed by mtd_spi_nor_init, no need to touch outside the driver. * Computed by mtd_spi_nor_init, no need to touch outside the driver.
*/ */
uint8_t page_addr_shift; uint8_t page_addr_shift;
/** /**
* @brief number of right shifts to get the address to the start of the sector * @brief number of right shifts to get the address to the start of the sector
* *
* Computed by mtd_spi_nor_init, no need to touch outside the driver. * Computed by mtd_spi_nor_init, no need to touch outside the driver.
*/ */
@ -125,14 +125,14 @@ typedef struct {
} mtd_spi_nor_t; } mtd_spi_nor_t;
/** /**
* @brief NOR flash SPI MTD device operations table * @brief NOR flash SPI MTD device operations table
*/ */
extern const mtd_desc_t mtd_spi_nor_driver; extern const mtd_desc_t mtd_spi_nor_driver;
/* Available opcode tables for known devices */ /* Available opcode tables for known devices */
/* Defined in mtd_spi_nor_configs.c */ /* Defined in mtd_spi_nor_configs.c */
/** /**
* @brief Default command opcodes * @brief Default command opcodes
* *
* The numbers were taken from Micron M25P16, but the same opcodes can * The numbers were taken from Micron M25P16, but the same opcodes can
* be found in Macronix MX25L25735E, and multiple other data sheets for * be found in Macronix MX25L25735E, and multiple other data sheets for

View File

@ -392,5 +392,6 @@ typedef struct netdev_driver {
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
/** @} */
#endif /* NET_NETDEV_H */ #endif /* NET_NETDEV_H */
/** @} */

View File

@ -61,5 +61,6 @@ int netdev_eth_set(netdev_t *dev, netopt_t opt, const void *value, size_t value_
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
/** @} */
#endif /* NET_NETDEV_ETH_H */ #endif /* NET_NETDEV_ETH_H */
/** @} */

View File

@ -33,7 +33,7 @@ extern "C" {
#include "periph/spi.h" #include "periph/spi.h"
/** /**
* @brief Structure that represents the hardware setup of the nrf24l01+ transceiver. * @brief Structure that represents the hardware setup of the nrf24l01+ transceiver.
*/ */
typedef struct { typedef struct {
spi_t spi; /**< SPI device to initialize */ spi_t spi; /**< SPI device to initialize */
@ -44,7 +44,7 @@ typedef struct {
} nrf24l01p_t; } nrf24l01p_t;
/** /**
* @brief Defines the address width of the nrf24l01+ transceiver. * @brief Defines the address width of the nrf24l01+ transceiver.
*/ */
typedef enum { typedef enum {
NRF24L01P_AW_3BYTE, /**< address width is 3 Byte */ NRF24L01P_AW_3BYTE, /**< address width is 3 Byte */
@ -54,7 +54,7 @@ typedef enum {
/** /**
* @brief Defines the RF datarate. * @brief Defines the RF datarate.
*/ */
typedef enum { typedef enum {
NRF24L01P_DR_250KBS,/**< datarate is 250 kbps */ NRF24L01P_DR_250KBS,/**< datarate is 250 kbps */
@ -63,7 +63,7 @@ typedef enum {
} nrf24l01p_dr_t; } nrf24l01p_dr_t;
/** /**
* @brief Defines the RF power level. * @brief Defines the RF power level.
*/ */
typedef enum { typedef enum {
NRF24L01P_PWR_N18DBM = 0, /**< power is -18dBm */ NRF24L01P_PWR_N18DBM = 0, /**< power is -18dBm */
@ -73,7 +73,7 @@ typedef enum {
} nrf24l01p_pwr_t; } nrf24l01p_pwr_t;
/** /**
* @brief Defines the datapipe on which the receiver searches for packets. * @brief Defines the datapipe on which the receiver searches for packets.
*/ */
typedef enum { typedef enum {
NRF24L01P_PIPE0 = 0,/**< RX pipe 0 */ NRF24L01P_PIPE0 = 0,/**< RX pipe 0 */
@ -85,7 +85,7 @@ typedef enum {
} nrf24l01p_rx_pipe_t; } nrf24l01p_rx_pipe_t;
/** /**
* @brief Defines the error detection encoding scheme for the nrf24l01p transceiver. * @brief Defines the error detection encoding scheme for the nrf24l01p transceiver.
*/ */
typedef enum { typedef enum {
NRF24L01P_CRC_1BYTE = 0, /**< encoding scheme generates 1 Byte redundancy */ NRF24L01P_CRC_1BYTE = 0, /**< encoding scheme generates 1 Byte redundancy */
@ -93,7 +93,7 @@ typedef enum {
} nrf24l01p_crc_t; } nrf24l01p_crc_t;
/** /**
* @brief Defines the automatic retransmission delay defined from end of transmission * @brief Defines the automatic retransmission delay defined from end of transmission
* to start of next treansmission. * to start of next treansmission.
*/ */
typedef enum { typedef enum {
@ -116,7 +116,7 @@ typedef enum {
} nrf24l01p_retransmit_delay_t; } nrf24l01p_retransmit_delay_t;
/** /**
* @brief Defines states for the nrf24l01+ transceiver * @brief Defines states for the nrf24l01+ transceiver
*/ */
typedef enum { typedef enum {
RCV_PKT_NRF24L01P = 0, /**< transceiver received data */ RCV_PKT_NRF24L01P = 0, /**< transceiver received data */
@ -124,7 +124,7 @@ typedef enum {
/** /**
* @brief Read one register of the nrf24l01+ transceiver. * @brief Read one register of the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] reg Register address to read from. * @param[in] reg Register address to read from.
@ -136,7 +136,7 @@ typedef enum {
int nrf24l01p_read_reg(const nrf24l01p_t *dev, char reg, char *answer); int nrf24l01p_read_reg(const nrf24l01p_t *dev, char reg, char *answer);
/** /**
* @brief Write one register to the nrf24l01+ transceiver. * @brief Write one register to the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] reg Register address to write to. * @param[in] reg Register address to write to.
@ -148,7 +148,7 @@ int nrf24l01p_read_reg(const nrf24l01p_t *dev, char reg, char *answer);
int nrf24l01p_write_reg(const nrf24l01p_t *dev, char reg, char write); int nrf24l01p_write_reg(const nrf24l01p_t *dev, char reg, char write);
/** /**
* @brief Initialize the nrf24l01+ transceiver. * @brief Initialize the nrf24l01+ transceiver.
* *
* @ note * @ note
* This function initializes the transceiver so that it is ready to use. * This function initializes the transceiver so that it is ready to use.
@ -165,7 +165,7 @@ int nrf24l01p_write_reg(const nrf24l01p_t *dev, char reg, char write);
int nrf24l01p_init(nrf24l01p_t *dev, spi_t spi, gpio_t ce, gpio_t csn, gpio_t irq); int nrf24l01p_init(nrf24l01p_t *dev, spi_t spi, gpio_t ce, gpio_t csn, gpio_t irq);
/** /**
* @brief Power on the nrf24l01+ transceiver. * @brief Power on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -175,7 +175,7 @@ int nrf24l01p_init(nrf24l01p_t *dev, spi_t spi, gpio_t ce, gpio_t csn, gpio_t ir
int nrf24l01p_on(const nrf24l01p_t *dev); int nrf24l01p_on(const nrf24l01p_t *dev);
/** /**
* @brief Power off the nrf24l01+ transceiver. * @brief Power off the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -185,7 +185,7 @@ int nrf24l01p_on(const nrf24l01p_t *dev);
int nrf24l01p_off(const nrf24l01p_t *dev); int nrf24l01p_off(const nrf24l01p_t *dev);
/** /**
* @brief Transmit payload laying in TX FIFO of the nrf24l01+ transceiver. * @brief Transmit payload laying in TX FIFO of the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -193,7 +193,7 @@ int nrf24l01p_off(const nrf24l01p_t *dev);
void nrf24l01p_transmit(const nrf24l01p_t *dev); void nrf24l01p_transmit(const nrf24l01p_t *dev);
/** /**
* @brief Read payload from RX FIFO of the nrf24l01+ transceiver. * @brief Read payload from RX FIFO of the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] answer Buffer to receive bytes to. * @param[in] answer Buffer to receive bytes to.
@ -205,7 +205,7 @@ void nrf24l01p_transmit(const nrf24l01p_t *dev);
int nrf24l01p_read_payload(const nrf24l01p_t *dev, char *answer, unsigned int size); int nrf24l01p_read_payload(const nrf24l01p_t *dev, char *answer, unsigned int size);
/** /**
* @brief Register a given ID to the nrf24l01+ transceiver. * @brief Register a given ID to the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] pid ID to register. * @param[in] pid ID to register.
@ -214,7 +214,7 @@ int nrf24l01p_read_payload(const nrf24l01p_t *dev, char *answer, unsigned int si
void nrf24l01p_register(nrf24l01p_t *dev, unsigned int *pid); void nrf24l01p_register(nrf24l01p_t *dev, unsigned int *pid);
/** /**
* @brief Enable dynamic payload for the pipe on give nrf24l01+ transceiver. * @brief Enable dynamic payload for the pipe on give nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] pipe RX pipe for which dynamic payload is enabled * @param[in] pipe RX pipe for which dynamic payload is enabled
@ -225,7 +225,7 @@ void nrf24l01p_register(nrf24l01p_t *dev, unsigned int *pid);
int nrf24l01p_enable_dynamic_payload(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe); int nrf24l01p_enable_dynamic_payload(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe);
/** /**
* @brief Enable dynamic ack for the nrf24l01+ transceiver. * @brief Enable dynamic ack for the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -235,7 +235,7 @@ int nrf24l01p_enable_dynamic_payload(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t
int nrf24l01p_enable_dynamic_ack(const nrf24l01p_t *dev); int nrf24l01p_enable_dynamic_ack(const nrf24l01p_t *dev);
/** /**
* @brief Unregister the nrf24l01+ transceiver from his ID. * @brief Unregister the nrf24l01+ transceiver from his ID.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] pid Actual ID to unregister. * @param[in] pid Actual ID to unregister.
@ -246,7 +246,7 @@ int nrf24l01p_enable_dynamic_ack(const nrf24l01p_t *dev);
int nrf24l01p_unregister(nrf24l01p_t *dev, unsigned int pid); int nrf24l01p_unregister(nrf24l01p_t *dev, unsigned int pid);
/** /**
* @brief Get ID from the nrf24l01p transceiver. * @brief Get ID from the nrf24l01p transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] pid Transceiver ID. * @param[in] pid Transceiver ID.
@ -255,7 +255,7 @@ int nrf24l01p_unregister(nrf24l01p_t *dev, unsigned int pid);
void nrf24l01p_get_id(const nrf24l01p_t *dev, unsigned int *pid); void nrf24l01p_get_id(const nrf24l01p_t *dev, unsigned int *pid);
/** /**
* @brief Start searching packets while in RX mode. * @brief Start searching packets while in RX mode.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -263,7 +263,7 @@ void nrf24l01p_get_id(const nrf24l01p_t *dev, unsigned int *pid);
void nrf24l01p_start(const nrf24l01p_t *dev); void nrf24l01p_start(const nrf24l01p_t *dev);
/** /**
* @brief Stop searching packets while in RX mode. * @brief Stop searching packets while in RX mode.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -271,7 +271,7 @@ void nrf24l01p_start(const nrf24l01p_t *dev);
void nrf24l01p_stop(const nrf24l01p_t *dev); void nrf24l01p_stop(const nrf24l01p_t *dev);
/** /**
* @brief Preload TX FIFO with payload to transmit. * @brief Preload TX FIFO with payload to transmit.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] data Buffer to preload. * @param[in] data Buffer to preload.
@ -283,7 +283,7 @@ void nrf24l01p_stop(const nrf24l01p_t *dev);
int nrf24l01p_preload(const nrf24l01p_t *dev, char *data, unsigned int size); int nrf24l01p_preload(const nrf24l01p_t *dev, char *data, unsigned int size);
/** /**
* @brief Set the RF channel for the nrf24l01+ transceiver. * @brief Set the RF channel for the nrf24l01+ transceiver.
* *
* @note * @note
* To ensure non-overlapping channels in 2Mbps mode, don't use directly * To ensure non-overlapping channels in 2Mbps mode, don't use directly
@ -298,7 +298,7 @@ int nrf24l01p_preload(const nrf24l01p_t *dev, char *data, unsigned int size);
int nrf24l01p_set_channel(const nrf24l01p_t *dev, uint8_t chan); int nrf24l01p_set_channel(const nrf24l01p_t *dev, uint8_t chan);
/** /**
* @brief Set the address width for the nrf24l01+ transceiver. * @brief Set the address width for the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] aw Address width (type nrf24l01p_aw_t). * @param[in] aw Address width (type nrf24l01p_aw_t).
@ -309,7 +309,7 @@ int nrf24l01p_set_channel(const nrf24l01p_t *dev, uint8_t chan);
int nrf24l01p_set_address_width(const nrf24l01p_t *dev, nrf24l01p_aw_t aw); int nrf24l01p_set_address_width(const nrf24l01p_t *dev, nrf24l01p_aw_t aw);
/** /**
* @brief Set the RX payload width for the nrf24l01+ transceiver * @brief Set the RX payload width for the nrf24l01+ transceiver
* *
* @ note * @ note
* This function sets the payload width for one packet. If the maximum of 32 bytes is * This function sets the payload width for one packet. If the maximum of 32 bytes is
@ -325,7 +325,7 @@ int nrf24l01p_set_address_width(const nrf24l01p_t *dev, nrf24l01p_aw_t aw);
int nrf24l01p_set_payload_width(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, char width); int nrf24l01p_set_payload_width(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, char width);
/** /**
* @brief Set the TX address for the nrf24l01+ transceiver (byte array). * @brief Set the TX address for the nrf24l01+ transceiver (byte array).
* *
* @note * @note
* You can either use this function and give it a pointer to a byte array which * You can either use this function and give it a pointer to a byte array which
@ -342,7 +342,7 @@ int nrf24l01p_set_payload_width(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe
int nrf24l01p_set_tx_address(const nrf24l01p_t *dev, const char *saddr, unsigned int length); int nrf24l01p_set_tx_address(const nrf24l01p_t *dev, const char *saddr, unsigned int length);
/** /**
* @brief Set the TX address for the nrf24l01+ transceiver (long int). * @brief Set the TX address for the nrf24l01+ transceiver (long int).
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] saddr Long integer which holds the TX address in LSBs. * @param[in] saddr Long integer which holds the TX address in LSBs.
@ -354,7 +354,7 @@ int nrf24l01p_set_tx_address(const nrf24l01p_t *dev, const char *saddr, unsigned
int nrf24l01p_set_tx_address_long(const nrf24l01p_t *dev, uint64_t saddr, unsigned int length); int nrf24l01p_set_tx_address_long(const nrf24l01p_t *dev, uint64_t saddr, unsigned int length);
/** /**
* @brief Set the RX address for the nrf24l01+ transceiver (byte array). * @brief Set the RX address for the nrf24l01+ transceiver (byte array).
* *
* @note * @note
* You can either use this function and give it a pointer to a byte array which * You can either use this function and give it a pointer to a byte array which
@ -372,7 +372,7 @@ int nrf24l01p_set_tx_address_long(const nrf24l01p_t *dev, uint64_t saddr, unsign
int nrf24l01p_set_rx_address(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, const char *saddr, unsigned int length); int nrf24l01p_set_rx_address(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, const char *saddr, unsigned int length);
/** /**
* @brief Set the RX address for the nrf24l01+ transceiver (long int). * @brief Set the RX address for the nrf24l01+ transceiver (long int).
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] pipe RX pipe to set the address. * @param[in] pipe RX pipe to set the address.
@ -385,7 +385,7 @@ int nrf24l01p_set_rx_address(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, c
int nrf24l01p_set_rx_address_long(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, uint64_t saddr, unsigned int length); int nrf24l01p_set_rx_address_long(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, uint64_t saddr, unsigned int length);
/** /**
* @brief Get the TX address for the nrf24l01+ transceiver (long int). * @brief Get the TX address for the nrf24l01+ transceiver (long int).
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -395,7 +395,7 @@ int nrf24l01p_set_rx_address_long(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pi
uint64_t nrf24l01p_get_tx_address_long(const nrf24l01p_t *dev); uint64_t nrf24l01p_get_tx_address_long(const nrf24l01p_t *dev);
/** /**
* @brief Get the RX address for the nrf24l01+ transceiver (long int). * @brief Get the RX address for the nrf24l01+ transceiver (long int).
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] pipe RX pipe to get the address from. * @param[in] pipe RX pipe to get the address from.
@ -406,7 +406,7 @@ uint64_t nrf24l01p_get_tx_address_long(const nrf24l01p_t *dev);
uint64_t nrf24l01p_get_rx_address_long(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe); uint64_t nrf24l01p_get_rx_address_long(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe);
/** /**
* @brief Get the TX address for the nrf24l01+ transceiver (long int). * @brief Get the TX address for the nrf24l01+ transceiver (long int).
* *
* @note * @note
* If you chose 2Mbps you should not allocate directly neighboring RF channels. * If you chose 2Mbps you should not allocate directly neighboring RF channels.
@ -420,7 +420,7 @@ uint64_t nrf24l01p_get_rx_address_long(const nrf24l01p_t *dev, nrf24l01p_rx_pipe
int nrf24l01p_set_datarate(const nrf24l01p_t *dev, nrf24l01p_dr_t dr); int nrf24l01p_set_datarate(const nrf24l01p_t *dev, nrf24l01p_dr_t dr);
/** /**
* @brief Get the status (register) of the nrf24l01+ transceiver device. * @brief Get the status (register) of the nrf24l01+ transceiver device.
* *
* @param[in] dev Transceiver device to use.s of the. * @param[in] dev Transceiver device to use.s of the.
* *
@ -429,7 +429,7 @@ int nrf24l01p_set_datarate(const nrf24l01p_t *dev, nrf24l01p_dr_t dr);
int nrf24l01p_get_status(const nrf24l01p_t *dev); int nrf24l01p_get_status(const nrf24l01p_t *dev);
/** /**
* @brief Set the transmit power for the nrf24l01+ transceiver device. * @brief Set the transmit power for the nrf24l01+ transceiver device.
* *
* @note * @note
* This function rounds the input values to the nearest possible setting. * This function rounds the input values to the nearest possible setting.
@ -443,7 +443,7 @@ int nrf24l01p_get_status(const nrf24l01p_t *dev);
int nrf24l01p_set_power(const nrf24l01p_t *dev, int pwr); int nrf24l01p_set_power(const nrf24l01p_t *dev, int pwr);
/** /**
* @brief Get the transmit power for the nrf24l01+ transceiver device. * @brief Get the transmit power for the nrf24l01+ transceiver device.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -452,7 +452,7 @@ int nrf24l01p_set_power(const nrf24l01p_t *dev, int pwr);
int nrf24l01p_get_power(const nrf24l01p_t *dev); int nrf24l01p_get_power(const nrf24l01p_t *dev);
/** /**
* @brief Set the nrf24l01+ into TX mode. * @brief Set the nrf24l01+ into TX mode.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -462,7 +462,7 @@ int nrf24l01p_get_power(const nrf24l01p_t *dev);
int nrf24l01p_set_txmode(const nrf24l01p_t *dev); int nrf24l01p_set_txmode(const nrf24l01p_t *dev);
/** /**
* @brief Set the nrf24l01+ into RX mode. * @brief Set the nrf24l01+ into RX mode.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -472,7 +472,7 @@ int nrf24l01p_set_txmode(const nrf24l01p_t *dev);
int nrf24l01p_set_rxmode(const nrf24l01p_t *dev); int nrf24l01p_set_rxmode(const nrf24l01p_t *dev);
/** /**
* @brief Reset all interrupts on the nrf24l01+ transceiver. * @brief Reset all interrupts on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -482,7 +482,7 @@ int nrf24l01p_set_rxmode(const nrf24l01p_t *dev);
int nrf24l01p_reset_all_interrupts(const nrf24l01p_t *dev); int nrf24l01p_reset_all_interrupts(const nrf24l01p_t *dev);
/** /**
* @brief Reset interrupts on the nrf24l01+ transceiver. * @brief Reset interrupts on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] intrs Interrupt mask to reset * @param[in] intrs Interrupt mask to reset
@ -493,7 +493,7 @@ int nrf24l01p_reset_all_interrupts(const nrf24l01p_t *dev);
int nrf24l01p_reset_interrupts(const nrf24l01p_t *dev, char intrs); int nrf24l01p_reset_interrupts(const nrf24l01p_t *dev, char intrs);
/** /**
* @brief Mask one interrupt on the nrf24l01+ transceiver. * @brief Mask one interrupt on the nrf24l01+ transceiver.
* *
* @note * @note
* There are three interrupts on the nrf24l01+ which can be masked: * There are three interrupts on the nrf24l01+ which can be masked:
@ -509,7 +509,7 @@ int nrf24l01p_reset_interrupts(const nrf24l01p_t *dev, char intrs);
int nrf24l01p_mask_interrupt(const nrf24l01p_t *dev, char intr); int nrf24l01p_mask_interrupt(const nrf24l01p_t *dev, char intr);
/** /**
* @brief Unmask one interrupt on the nrf24l01+ transceiver. * @brief Unmask one interrupt on the nrf24l01+ transceiver.
* *
* @note * @note
* There are three interrupts on the nrf24l01+ which can be unmasked: * There are three interrupts on the nrf24l01+ which can be unmasked:
@ -525,7 +525,7 @@ int nrf24l01p_mask_interrupt(const nrf24l01p_t *dev, char intr);
int nrf24l01p_unmask_interrupt(const nrf24l01p_t *dev, char intr); int nrf24l01p_unmask_interrupt(const nrf24l01p_t *dev, char intr);
/** /**
* @brief Enable RX datapipe on the nrf24l01+ transceiver. * @brief Enable RX datapipe on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] pipe RX pipe to enable. * @param[in] pipe RX pipe to enable.
@ -536,7 +536,7 @@ int nrf24l01p_unmask_interrupt(const nrf24l01p_t *dev, char intr);
int nrf24l01p_enable_pipe(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe); int nrf24l01p_enable_pipe(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe);
/** /**
* @brief Disable RX datapipe on the nrf24l01+ transceiver. * @brief Disable RX datapipe on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] pipe RX pipe to disable. * @param[in] pipe RX pipe to disable.
@ -547,7 +547,7 @@ int nrf24l01p_enable_pipe(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe);
int nrf24l01p_disable_pipe(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe); int nrf24l01p_disable_pipe(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe);
/** /**
* @brief Disable CRC error detection on the nrf24l01+ transceiver. * @brief Disable CRC error detection on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -556,7 +556,7 @@ int nrf24l01p_disable_pipe(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe);
int nrf24l01p_disable_crc(const nrf24l01p_t *dev); int nrf24l01p_disable_crc(const nrf24l01p_t *dev);
/** /**
* @brief Enable CRC error detection on the nrf24l01+ transceiver. * @brief Enable CRC error detection on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* @param[in] crc Length of cyclic redundancy check (type nrf24l01p_crc_t). * @param[in] crc Length of cyclic redundancy check (type nrf24l01p_crc_t).
@ -567,7 +567,7 @@ int nrf24l01p_disable_crc(const nrf24l01p_t *dev);
int nrf24l01p_enable_crc(const nrf24l01p_t *dev, nrf24l01p_crc_t crc); int nrf24l01p_enable_crc(const nrf24l01p_t *dev, nrf24l01p_crc_t crc);
/** /**
* @brief Setup and enable automatic ACK and retransmission on the nrf24l01+ transceiver. * @brief Setup and enable automatic ACK and retransmission on the nrf24l01+ transceiver.
* *
* @note * @note
* This function enables automatic acknowledgement for a given RX data pipe and also sets up the * This function enables automatic acknowledgement for a given RX data pipe and also sets up the
@ -585,7 +585,7 @@ int nrf24l01p_enable_crc(const nrf24l01p_t *dev, nrf24l01p_crc_t crc);
int nrf24l01p_setup_auto_ack(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, nrf24l01p_retransmit_delay_t delay_retrans, char count_retrans); int nrf24l01p_setup_auto_ack(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, nrf24l01p_retransmit_delay_t delay_retrans, char count_retrans);
/** /**
* @brief Disable automatic ACK on the nrf24l01+ transceiver. * @brief Disable automatic ACK on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -595,7 +595,7 @@ int nrf24l01p_setup_auto_ack(const nrf24l01p_t *dev, nrf24l01p_rx_pipe_t pipe, n
int nrf24l01p_disable_all_auto_ack(const nrf24l01p_t *dev); int nrf24l01p_disable_all_auto_ack(const nrf24l01p_t *dev);
/** /**
* @brief Flush TX FIFO on the nrf24l01+ transceiver. * @brief Flush TX FIFO on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -605,7 +605,7 @@ int nrf24l01p_disable_all_auto_ack(const nrf24l01p_t *dev);
int nrf24l01p_flush_tx_fifo(const nrf24l01p_t *dev); int nrf24l01p_flush_tx_fifo(const nrf24l01p_t *dev);
/** /**
* @brief Flush RX FIFO on the nrf24l01+ transceiver. * @brief Flush RX FIFO on the nrf24l01+ transceiver.
* *
* @param[in] dev Transceiver device to use. * @param[in] dev Transceiver device to use.
* *
@ -615,7 +615,7 @@ int nrf24l01p_flush_tx_fifo(const nrf24l01p_t *dev);
int nrf24l01p_flush_rx_fifo(const nrf24l01p_t *dev); int nrf24l01p_flush_rx_fifo(const nrf24l01p_t *dev);
/** /**
* @brief Callback that is called when interrupt occurs on interrupt * @brief Callback that is called when interrupt occurs on interrupt
* pin from the nrf24l01+ transceiver. * pin from the nrf24l01+ transceiver.
* *
* @param[in] arg Used to pass transceiver device "dev". * @param[in] arg Used to pass transceiver device "dev".

View File

@ -33,21 +33,21 @@ extern "C" {
#endif #endif
/** /**
* @brief Bus parameters for SPI NVRAM. * @brief Bus parameters for SPI NVRAM.
*/ */
typedef struct nvram_spi_params { typedef struct nvram_spi_params {
/** @brief RIOT SPI device */ /** @brief RIOT SPI device */
spi_t spi; spi_t spi;
/** @brief SPI clock speed */ /** @brief SPI clock speed */
spi_clk_t clk; spi_clk_t clk;
/** @brief Chip select pin */ /** @brief Chip select pin */
gpio_t cs; gpio_t cs;
/** @brief Number of address bytes following each read/write command. */ /** @brief Number of address bytes following each read/write command. */
uint8_t address_count; uint8_t address_count;
} nvram_spi_params_t; } nvram_spi_params_t;
/** /**
* @brief Initialize an nvram_t structure with SPI settings. * @brief Initialize an nvram_t structure with SPI settings.
* *
* This will also initialize the CS pin as a GPIO output, without pull resistors. * This will also initialize the CS pin as a GPIO output, without pull resistors.
* *

View File

@ -43,11 +43,11 @@ extern "C" {
struct nvram; struct nvram;
/** /**
* @brief Device descriptor for generic NVRAM devices. * @brief Device descriptor for generic NVRAM devices.
*/ */
typedef struct nvram { typedef struct nvram {
/** /**
* @brief Pointer to device-specific read function * @brief Pointer to device-specific read function
* *
* Copy data from system memory to NVRAM. * Copy data from system memory to NVRAM.
* *
@ -62,7 +62,7 @@ typedef struct nvram {
int (*read)(struct nvram *dev, uint8_t *dst, uint32_t src, size_t size); int (*read)(struct nvram *dev, uint8_t *dst, uint32_t src, size_t size);
/** /**
* @brief Pointer to device-specific write function * @brief Pointer to device-specific write function
* *
* Copy data from NVRAM to system memory. * Copy data from NVRAM to system memory.
* *
@ -76,10 +76,10 @@ typedef struct nvram {
*/ */
int (*write)(struct nvram *dev, const uint8_t *src, uint32_t dst, size_t size); int (*write)(struct nvram *dev, const uint8_t *src, uint32_t dst, size_t size);
/** @brief Device capacity */ /** @brief Device capacity */
size_t size; size_t size;
/** @brief Device-specific parameters, if any. */ /** @brief Device-specific parameters, if any. */
void *extra; void *extra;
} nvram_t; } nvram_t;

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @defgroup driver_pcd8544 PCD8544 LCD driver * @defgroup drivers_pcd8544 PCD8544 LCD driver
* @ingroup drivers_actuators * @ingroup drivers_actuators
* @brief Driver for PCD8544 LCD displays * @brief Driver for PCD8544 LCD displays
* *
@ -32,7 +32,7 @@
#endif #endif
/** /**
* @brief Definition of display dimensions * @name Definition of display dimensions
* @{ * @{
*/ */
#define PCD8544_RES_X (84U) /**< pixels per row */ #define PCD8544_RES_X (84U) /**< pixels per row */
@ -42,7 +42,7 @@
/** @} */ /** @} */
/** /**
* @brief Default values for temperature compensation and contrast * @name Default values for temperature compensation and contrast
* @{ * @{
*/ */
#define PCD8544_DEFAULT_CONTRAST (45U) #define PCD8544_DEFAULT_CONTRAST (45U)

View File

@ -54,34 +54,27 @@ extern "C" {
/** /**
* @brief Define default ADC type identifier * @brief Define default ADC type identifier
* @{
*/ */
#ifndef HAVE_ADC_T #ifndef HAVE_ADC_T
typedef unsigned int adc_t; typedef unsigned int adc_t;
#endif #endif
/** @} */
/** /**
* @brief Default ADC undefined value * @brief Default ADC undefined value
* @{
*/ */
#ifndef ADC_UNDEF #ifndef ADC_UNDEF
#define ADC_UNDEF (UINT_MAX) #define ADC_UNDEF (UINT_MAX)
#endif #endif
/** @} */
/** /**
* @brief Default ADC line access macro * @brief Default ADC line access macro
* @{
*/ */
#ifndef ADC_LINE #ifndef ADC_LINE
#define ADC_LINE(x) (x) #define ADC_LINE(x) (x)
#endif #endif
/** @} */
/** /**
* @brief Possible ADC resolution settings * @brief Possible ADC resolution settings
* @{
*/ */
#ifndef HAVE_ADC_RES_T #ifndef HAVE_ADC_RES_T
typedef enum { typedef enum {
@ -93,7 +86,6 @@ typedef enum {
ADC_RES_16BIT, /**< ADC resolution: 16 bit */ ADC_RES_16BIT, /**< ADC resolution: 16 bit */
} adc_res_t; } adc_res_t;
#endif #endif
/** @} */
/** /**
* @brief Initialize the given ADC line * @brief Initialize the given ADC line

View File

@ -52,6 +52,4 @@ void cpuid_get(void *id);
#endif #endif
#endif /* PERIPH_CPUID_H */ #endif /* PERIPH_CPUID_H */
/** /** @} */
* @}
*/

View File

@ -50,12 +50,10 @@ extern "C" {
/** /**
* @brief Define default DAC type identifier * @brief Define default DAC type identifier
* @{
*/ */
#ifndef HAVE_DAC_T #ifndef HAVE_DAC_T
typedef unsigned int dac_t; typedef unsigned int dac_t;
#endif #endif
/** @} */
/** /**
* @brief Return codes used by the DAC driver interface * @brief Return codes used by the DAC driver interface
@ -67,21 +65,17 @@ enum {
/** /**
* @brief Default DAC undefined value * @brief Default DAC undefined value
* @{
*/ */
#ifndef DAC_UNDEF #ifndef DAC_UNDEF
#define DAC_UNDEF (UINT_MAX) #define DAC_UNDEF (UINT_MAX)
#endif #endif
/** @} */
/** /**
* @brief Default DAC access macro * @brief Default DAC access macro
* @{
*/ */
#ifndef DAC_LINE #ifndef DAC_LINE
#define DAC_LINE(x) (x) #define DAC_LINE(x) (x)
#endif #endif
/** @} */
/** /**
* @brief Initialize the given DAC line * @brief Initialize the given DAC line

View File

@ -125,7 +125,6 @@ typedef void (*gpio_cb_t)(void *arg);
/** /**
* @brief Default interrupt context for GPIO pins * @brief Default interrupt context for GPIO pins
* @{
*/ */
#ifndef HAVE_GPIO_ISR_CTX_T #ifndef HAVE_GPIO_ISR_CTX_T
typedef struct { typedef struct {
@ -133,7 +132,6 @@ typedef struct {
void *arg; /**< optional argument */ void *arg; /**< optional argument */
} gpio_isr_ctx_t; } gpio_isr_ctx_t;
#endif #endif
/** @} */
/** /**
* @brief Initialize the given pin as general purpose input or output * @brief Initialize the given pin as general purpose input or output

View File

@ -89,34 +89,27 @@ extern "C" {
/** /**
* @brief Default I2C device access macro * @brief Default I2C device access macro
* @{
*/ */
#ifndef I2C_DEV #ifndef I2C_DEV
#define I2C_DEV(x) (x) #define I2C_DEV(x) (x)
#endif #endif
/** @} */
/** /**
* @brief Default I2C undefined value * @brief Default I2C undefined value
* @{
*/ */
#ifndef I2C_UNDEF #ifndef I2C_UNDEF
#define I2C_UNDEF (UINT_MAX) #define I2C_UNDEF (UINT_MAX)
#endif #endif
/** @} */
/** /**
* @brief Default i2c_t type definition * @brief Default i2c_t type definition
* @{
*/ */
#ifndef HAVE_I2C_T #ifndef HAVE_I2C_T
typedef unsigned int i2c_t; typedef unsigned int i2c_t;
#endif #endif
/** @} */
/** /**
* @brief Default mapping of I2C bus speed values * @brief Default mapping of I2C bus speed values
* @{
*/ */
#ifndef HAVE_I2C_SPEED_T #ifndef HAVE_I2C_SPEED_T
typedef enum { typedef enum {
@ -127,7 +120,6 @@ typedef enum {
I2C_SPEED_HIGH, /**< high speed mode: ~3.4Mbit/s */ I2C_SPEED_HIGH, /**< high speed mode: ~3.4Mbit/s */
} i2c_speed_t; } i2c_speed_t;
#endif #endif
/** @} */
/** /**
* @brief Initialize an I2C device to run as bus master * @brief Initialize an I2C device to run as bus master

View File

@ -73,34 +73,27 @@ extern "C" {
/** /**
* @brief Default PWM access macro * @brief Default PWM access macro
* @{
*/ */
#ifndef PWM_DEV #ifndef PWM_DEV
#define PWM_DEV(x) (x) #define PWM_DEV(x) (x)
#endif #endif
/** @} */
/** /**
* @brief Default PWM undefined value * @brief Default PWM undefined value
* @{
*/ */
#ifndef PWM_UNDEF #ifndef PWM_UNDEF
#define PWM_UNDEF (UINT_MAX) #define PWM_UNDEF (UINT_MAX)
#endif #endif
/** @} */
/** /**
* @brief Default PWM type definition * @brief Default PWM type definition
* @{
*/ */
#ifndef HAVE_PWM_T #ifndef HAVE_PWM_T
typedef unsigned int pwm_t; typedef unsigned int pwm_t;
#endif #endif
/** @} */
/** /**
* @brief Default PWM mode definition * @brief Default PWM mode definition
* @{
*/ */
#ifndef HAVE_PWM_MODE_T #ifndef HAVE_PWM_MODE_T
typedef enum { typedef enum {
@ -109,7 +102,6 @@ typedef enum {
PWM_CENTER /*< use center aligned PWM */ PWM_CENTER /*< use center aligned PWM */
} pwm_mode_t; } pwm_mode_t;
#endif #endif
/** @} */
/** /**
* @brief Initialize a PWM device * @brief Initialize a PWM device

View File

@ -67,7 +67,6 @@ typedef void (*timer_cb_t)(void *arg, int channel);
/** /**
* @brief Default interrupt context entry holding callback and argument * @brief Default interrupt context entry holding callback and argument
* @{
*/ */
#ifndef HAVE_TIMER_ISR_CTX_T #ifndef HAVE_TIMER_ISR_CTX_T
typedef struct { typedef struct {
@ -75,7 +74,6 @@ typedef struct {
void *arg; /**< optional argument given to that callback */ void *arg; /**< optional argument given to that callback */
} timer_isr_ctx_t; } timer_isr_ctx_t;
#endif #endif
/** @} */
/** /**
* @brief Initialize the given timer * @brief Initialize the given timer

View File

@ -60,30 +60,24 @@ extern "C" {
/** /**
* @brief Define default UART type identifier * @brief Define default UART type identifier
* @{
*/ */
#ifndef HAVE_UART_T #ifndef HAVE_UART_T
typedef unsigned int uart_t; typedef unsigned int uart_t;
#endif #endif
/** @} */
/** /**
* @brief Default UART undefined value * @brief Default UART undefined value
* @{
*/ */
#ifndef UART_UNDEF #ifndef UART_UNDEF
#define UART_UNDEF (UINT_MAX) #define UART_UNDEF (UINT_MAX)
#endif #endif
/** @} */
/** /**
* @brief Default UART device access macro * @brief Default UART device access macro
* @{
*/ */
#ifndef UART_DEV #ifndef UART_DEV
#define UART_DEV(x) (x) #define UART_DEV(x) (x)
#endif #endif
/** @} */
/** /**
* @brief Signature for receive interrupt callback * @brief Signature for receive interrupt callback
@ -95,7 +89,6 @@ typedef void(*uart_rx_cb_t)(void *arg, uint8_t data);
/** /**
* @brief Interrupt context for a UART device * @brief Interrupt context for a UART device
* @{
*/ */
#ifndef HAVE_UART_ISR_CTX_T #ifndef HAVE_UART_ISR_CTX_T
typedef struct { typedef struct {
@ -103,7 +96,6 @@ typedef struct {
void *arg; /**< argument to both callback routines */ void *arg; /**< argument to both callback routines */
} uart_isr_ctx_t; } uart_isr_ctx_t;
#endif #endif
/** @} */
/** /**
* @brief Possible UART return values * @brief Possible UART return values

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @defgroup driver_pir PIR Motion Sensor * @defgroup drivers_pir PIR Motion Sensor
* @ingroup drivers_sensors * @ingroup drivers_sensors
* @brief Device driver interface for the PIR motion sensor * @brief Device driver interface for the PIR motion sensor
* @{ * @{
@ -29,7 +29,7 @@ extern "C" {
#endif #endif
/** /**
* @brief device descriptor for a PIR sensor * @brief device descriptor for a PIR sensor
*/ */
typedef struct { typedef struct {
gpio_t gpio_dev; /**< GPIO device which is used */ gpio_t gpio_dev; /**< GPIO device which is used */
@ -37,14 +37,14 @@ typedef struct {
} pir_t; } pir_t;
/** /**
* @brief value to configure sensitivity of sensore * @brief value to configure sensitivity of sensore
*/ */
#ifndef PIR_MSG_T_STATUS_START #ifndef PIR_MSG_T_STATUS_START
#define PIR_MSG_T_STATUS_START 150 #define PIR_MSG_T_STATUS_START 150
#endif #endif
/** /**
* @brief event type for a PIR sensor * @brief event type for a PIR sensor
*/ */
typedef enum { typedef enum {
PIR_STATUS_HI = PIR_MSG_T_STATUS_START, /**< motion was detected */ PIR_STATUS_HI = PIR_MSG_T_STATUS_START, /**< motion was detected */
@ -52,7 +52,7 @@ typedef enum {
} pir_event_t; } pir_event_t;
/** /**
* @brief Initialize a PIR motion sensor * @brief Initialize a PIR motion sensor
* *
* The PIR motion sensor is interfaced by a single GPIO pin, specified by * The PIR motion sensor is interfaced by a single GPIO pin, specified by
* `gpio`. * `gpio`.
@ -70,7 +70,7 @@ typedef enum {
int pir_init(pir_t *dev, gpio_t gpio); int pir_init(pir_t *dev, gpio_t gpio);
/** /**
* @brief Read the current status of the motion sensor * @brief Read the current status of the motion sensor
* *
* @param[in] dev device descriptor of the PIR motion sensor to read from * @param[in] dev device descriptor of the PIR motion sensor to read from
* *

View File

@ -37,7 +37,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Data structure with the configuration parameters * @brief Data structure with the configuration parameters
*/ */
typedef struct { typedef struct {
union { union {
@ -56,7 +56,7 @@ typedef struct {
} pn532_params_t; } pn532_params_t;
/** /**
* @brief Working mode of the PN532 * @brief Working mode of the PN532
*/ */
typedef enum { typedef enum {
PN532_I2C, PN532_I2C,
@ -64,7 +64,7 @@ typedef enum {
} pn532_mode_t; } pn532_mode_t;
/** /**
* @brief Device descriptor for the PN532 * @brief Device descriptor for the PN532
*/ */
typedef struct { typedef struct {
const pn532_params_t *conf; /**< Configuration struct */ const pn532_params_t *conf; /**< Configuration struct */
@ -73,7 +73,7 @@ typedef struct {
} pn532_t; } pn532_t;
/** /**
* @brief Internal buffer size * @brief Internal buffer size
* *
* A small buffer size is enough for most applications, however if large NDEF * A small buffer size is enough for most applications, however if large NDEF
* files are to be written this size shall be increased. Otherwise the files * files are to be written this size shall be increased. Otherwise the files
@ -84,7 +84,7 @@ typedef struct {
#endif #endif
/** /**
* @brief Helpers to extract firmware information from word * @name Helpers to extract firmware information from word
* @{ * @{
*/ */
#define PN532_IC_VERSION(fwver) ((fwver >> 24) & 0xff) #define PN532_IC_VERSION(fwver) ((fwver >> 24) & 0xff)
@ -94,7 +94,7 @@ typedef struct {
/** @} */ /** @} */
/** /**
* @brief Possible SAM configurations * @brief Possible SAM configurations
*/ */
typedef enum { typedef enum {
PN532_SAM_NORMAL = 1, PN532_SAM_NORMAL = 1,
@ -104,7 +104,7 @@ typedef enum {
} pn532_sam_conf_mode_t; } pn532_sam_conf_mode_t;
/** /**
* @brief PN532 supported targets * @brief PN532 supported targets
*/ */
typedef enum { typedef enum {
PN532_BR_106_ISO_14443_A = 0, PN532_BR_106_ISO_14443_A = 0,
@ -115,7 +115,7 @@ typedef enum {
} pn532_target_t; } pn532_target_t;
/** /**
* @brief ISO14443A Card types * @brief ISO14443A Card types
*/ */
typedef enum { typedef enum {
ISO14443A_UNKNOWN, ISO14443A_UNKNOWN,
@ -124,7 +124,7 @@ typedef enum {
} nfc_iso14443a_type_t; } nfc_iso14443a_type_t;
/** /**
* @brief ISO14443A tag description * @brief ISO14443A tag description
*/ */
typedef struct { typedef struct {
char target; /**< Target */ char target; /**< Target */
@ -137,7 +137,7 @@ typedef struct {
} nfc_iso14443a_t; } nfc_iso14443a_t;
/** /**
* @brief Mifare keys * @brief Mifare keys
*/ */
typedef enum { typedef enum {
PN532_MIFARE_KEY_A = 0x60, PN532_MIFARE_KEY_A = 0x60,
@ -145,7 +145,7 @@ typedef enum {
} pn532_mifare_key_t; } pn532_mifare_key_t;
/** /**
* @brief Obtain Tag 4 data length from buffer * @brief Obtain Tag 4 data length from buffer
* *
* This is useful in case the length has been read and one intents to read the * This is useful in case the length has been read and one intents to read the
* data. * data.
@ -153,7 +153,7 @@ typedef enum {
#define PN532_ISO14443A_4_LEN_FROM_BUFFER(b) ((b[0] << 8) | b[1]) #define PN532_ISO14443A_4_LEN_FROM_BUFFER(b) ((b[0] << 8) | b[1])
/** /**
* @brief Hard reset the chipset * @brief Hard reset the chipset
* *
* The chipset is reset by toggling the reset pins * The chipset is reset by toggling the reset pins
* *
@ -163,7 +163,7 @@ typedef enum {
void pn532_reset(const pn532_t *dev); void pn532_reset(const pn532_t *dev);
/** /**
* @brief Initialize the module and peripherals * @brief Initialize the module and peripherals
* *
* This is the first method to be called in order to interact with the pn532. * This is the first method to be called in order to interact with the pn532.
* It configures the GPIOs and the i2c/spi interface (depending on @p mode). * It configures the GPIOs and the i2c/spi interface (depending on @p mode).
@ -181,7 +181,7 @@ int pn532_init(pn532_t *dev, const pn532_params_t *params, pn532_mode_t mode);
#if defined(PN532_SUPPORT_I2C) || DOXYGEN #if defined(PN532_SUPPORT_I2C) || DOXYGEN
/** /**
* @brief Initialization of PN532 using i2c * @brief Initialization of PN532 using i2c
* *
* @see pn532_init for parameter and return value details * @see pn532_init for parameter and return value details
*/ */
@ -193,7 +193,7 @@ static inline int pn532_init_i2c(pn532_t *dev, const pn532_params_t *params)
#if defined(PN532_SUPPORT_SPI) || DOXYGEN #if defined(PN532_SUPPORT_SPI) || DOXYGEN
/** /**
* @brief Initialization of PN532 using spi * @brief Initialization of PN532 using spi
* *
* @see pn532_init for parameter and return value details * @see pn532_init for parameter and return value details
*/ */
@ -204,7 +204,7 @@ static inline int pn532_init_spi(pn532_t *dev, const pn532_params_t *params)
#endif #endif
/** /**
* @brief Get the firmware version of the pn532 * @brief Get the firmware version of the pn532
* *
* The firmware version returned is a 4 byte long value: * The firmware version returned is a 4 byte long value:
* - ic version, * - ic version,
@ -220,7 +220,7 @@ static inline int pn532_init_spi(pn532_t *dev, const pn532_params_t *params)
int pn532_fw_version(pn532_t *dev, uint32_t *fw_ver); int pn532_fw_version(pn532_t *dev, uint32_t *fw_ver);
/** /**
* @brief Read register of the pn532 * @brief Read register of the pn532
* *
* Refer to the datasheet for a comprehensive list of registers and meanings. * Refer to the datasheet for a comprehensive list of registers and meanings.
* For SFR registers the high byte must be set to 0xff. * For SFR registers the high byte must be set to 0xff.
@ -236,7 +236,7 @@ int pn532_fw_version(pn532_t *dev, uint32_t *fw_ver);
int pn532_read_reg(pn532_t *dev, char *out, unsigned addr); int pn532_read_reg(pn532_t *dev, char *out, unsigned addr);
/** /**
* @brief Write register of the pn532 * @brief Write register of the pn532
* *
* Refer to the datasheet for a comprehensive list of registers and meanings. * Refer to the datasheet for a comprehensive list of registers and meanings.
* *
@ -251,7 +251,7 @@ int pn532_read_reg(pn532_t *dev, char *out, unsigned addr);
int pn532_write_reg(pn532_t *dev, unsigned addr, char val); int pn532_write_reg(pn532_t *dev, unsigned addr, char val);
/** /**
* @brief Set new settings for the Security Access Module * @brief Set new settings for the Security Access Module
* *
* @param[in] dev target device * @param[in] dev target device
* @param[in] mode new mode for the SAM * @param[in] mode new mode for the SAM
@ -263,7 +263,7 @@ int pn532_write_reg(pn532_t *dev, unsigned addr, char val);
int pn532_sam_configuration(pn532_t *dev, pn532_sam_conf_mode_t mode, unsigned timeout); int pn532_sam_configuration(pn532_t *dev, pn532_sam_conf_mode_t mode, unsigned timeout);
/** /**
* @brief Get one ISO14443-A passive target * @brief Get one ISO14443-A passive target
* *
* This method blocks until a target is detected. * This method blocks until a target is detected.
* *
@ -278,7 +278,7 @@ int pn532_sam_configuration(pn532_t *dev, pn532_sam_conf_mode_t mode, unsigned t
int pn532_get_passive_iso14443a(pn532_t *dev, nfc_iso14443a_t *out, unsigned max_retries); int pn532_get_passive_iso14443a(pn532_t *dev, nfc_iso14443a_t *out, unsigned max_retries);
/** /**
* @brief Authenticate a Mifare classic card * @brief Authenticate a Mifare classic card
* *
* This operation must be done before reading or writing the segment. * This operation must be done before reading or writing the segment.
* *
@ -294,7 +294,7 @@ int pn532_mifareclassic_authenticate(pn532_t *dev, nfc_iso14443a_t *card,
pn532_mifare_key_t keyid, char *key, unsigned block); pn532_mifare_key_t keyid, char *key, unsigned block);
/** /**
* @brief Read a block of a Mifare classic card * @brief Read a block of a Mifare classic card
* *
* The block size is 16 bytes and it must be authenticated before read. * The block size is 16 bytes and it must be authenticated before read.
* *
@ -308,7 +308,7 @@ int pn532_mifareclassic_authenticate(pn532_t *dev, nfc_iso14443a_t *card,
int pn532_mifareclassic_read(pn532_t *dev, char *odata, nfc_iso14443a_t *card, unsigned block); int pn532_mifareclassic_read(pn532_t *dev, char *odata, nfc_iso14443a_t *card, unsigned block);
/** /**
* @brief Write a block of a Mifare classic card * @brief Write a block of a Mifare classic card
* *
* The block size is 16 bytes and it must be authenticated before written. * The block size is 16 bytes and it must be authenticated before written.
* *
@ -322,7 +322,7 @@ int pn532_mifareclassic_read(pn532_t *dev, char *odata, nfc_iso14443a_t *card, u
int pn532_mifareclassic_write(pn532_t *dev, char *idata, nfc_iso14443a_t *card, unsigned block); int pn532_mifareclassic_write(pn532_t *dev, char *idata, nfc_iso14443a_t *card, unsigned block);
/** /**
* @brief Read a block of a Mifare Ultralight card * @brief Read a block of a Mifare Ultralight card
* *
* The block size is 32 bytes and it must be authenticated before read. * The block size is 32 bytes and it must be authenticated before read.
* *
@ -336,7 +336,7 @@ int pn532_mifareclassic_write(pn532_t *dev, char *idata, nfc_iso14443a_t *card,
int pn532_mifareulight_read(pn532_t *dev, char *odata, nfc_iso14443a_t *card, unsigned page); int pn532_mifareulight_read(pn532_t *dev, char *odata, nfc_iso14443a_t *card, unsigned page);
/** /**
* @brief Activate the NDEF file of a ISO14443-A Type 4 tag * @brief Activate the NDEF file of a ISO14443-A Type 4 tag
* *
* @param[in] dev target device * @param[in] dev target device
* @param[in] card card to activate * @param[in] card card to activate
@ -346,7 +346,7 @@ int pn532_mifareulight_read(pn532_t *dev, char *odata, nfc_iso14443a_t *card, un
int pn532_iso14443a_4_activate(pn532_t *dev, nfc_iso14443a_t *card); int pn532_iso14443a_4_activate(pn532_t *dev, nfc_iso14443a_t *card);
/** /**
* @brief Read data from the NDEF file of a ISO14443-A Type 4 tag * @brief Read data from the NDEF file of a ISO14443-A Type 4 tag
* *
* The first two bytes of an NDEF file are the length of the data. Afterwards, * The first two bytes of an NDEF file are the length of the data. Afterwards,
* at offset 0x02 starts the data itself. If one tries to read further than the * at offset 0x02 starts the data itself. If one tries to read further than the
@ -364,7 +364,7 @@ int pn532_iso14443a_4_read(pn532_t *dev, char *odata, nfc_iso14443a_t *card, uns
char len); char len);
/** /**
* @brief Deselect a previously selected passive card * @brief Deselect a previously selected passive card
* *
* @param[in] dev target device * @param[in] dev target device
* @param[in] target_id id of the target to deselect (0x00 for all) * @param[in] target_id id of the target to deselect (0x00 for all)
@ -372,7 +372,7 @@ int pn532_iso14443a_4_read(pn532_t *dev, char *odata, nfc_iso14443a_t *card, uns
void pn532_deselect_passive(pn532_t *dev, unsigned target_id); void pn532_deselect_passive(pn532_t *dev, unsigned target_id);
/** /**
* @brief Release an active passive card * @brief Release an active passive card
* *
* @param[in] dev target device * @param[in] dev target device
* @param[in] target_id id of the target to release (0x00 for all) * @param[in] target_id id of the target to release (0x00 for all)

View File

@ -7,7 +7,7 @@
*/ */
/** /**
* @defgroup driver_rgbled RGB-LED driver * @defgroup drivers_rgbled RGB-LED driver
* @ingroup drivers_actuators * @ingroup drivers_actuators
* @brief High-level driver for RGB-LEDs * @brief High-level driver for RGB-LEDs
* @{ * @{
@ -29,7 +29,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Descriptor struct for rgbleds * @brief Descriptor struct for rgbleds
*/ */
typedef struct { typedef struct {
pwm_t device; /**< PWM device to use to control rgbleds */ pwm_t device; /**< PWM device to use to control rgbleds */
@ -40,7 +40,7 @@ typedef struct {
/** /**
* @brief Initialize the RGB LED by assigning PWM channels to colors * @brief Initialize the RGB LED by assigning PWM channels to colors
* *
* @param[in] led Struct identifying the LED * @param[in] led Struct identifying the LED
* @param[in] pwm PWM device to drive the LED * @param[in] pwm PWM device to drive the LED
@ -51,7 +51,7 @@ typedef struct {
void rgbled_init(rgbled_t *led, pwm_t pwm, int channel_r, int channel_g, int channel_b); void rgbled_init(rgbled_t *led, pwm_t pwm, int channel_r, int channel_g, int channel_b);
/** /**
* @brief Set the RGB-LED to the given color value * @brief Set the RGB-LED to the given color value
* *
* @param[in] led Struct identifying the LED to set * @param[in] led Struct identifying the LED to set
* @param[in] color Color to set the led to * @param[in] color Color to set the led to

View File

@ -8,7 +8,7 @@
*/ */
/** /**
* @defgroup driver_servo Servo Motor Driver * @defgroup drivers_servo Servo Motor Driver
* @ingroup drivers_actuators * @ingroup drivers_actuators
* @brief High-level driver for servo motors * @brief High-level driver for servo motors
* @{ * @{
@ -30,7 +30,7 @@ extern "C" {
#endif #endif
/** /**
* @brief Descriptor struct for a servo * @brief Descriptor struct for a servo
*/ */
typedef struct { typedef struct {
pwm_t device; /**< the PWM device driving the servo */ pwm_t device; /**< the PWM device driving the servo */
@ -42,7 +42,7 @@ typedef struct {
} servo_t; } servo_t;
/** /**
* @brief Initialize a servo motor by assigning it a PWM device and channel * @brief Initialize a servo motor by assigning it a PWM device and channel
* *
* Digital servos are controlled by regular pulses sent to them. The width * Digital servos are controlled by regular pulses sent to them. The width
* of a pulse determines the position of the servo. A pulse width of 1.5ms * of a pulse determines the position of the servo. A pulse width of 1.5ms
@ -73,7 +73,7 @@ typedef struct {
int servo_init(servo_t *dev, pwm_t pwm, int pwm_channel, unsigned int min, unsigned int max); int servo_init(servo_t *dev, pwm_t pwm, int pwm_channel, unsigned int min, unsigned int max);
/** /**
* @brief Set the servo motor to a specified position * @brief Set the servo motor to a specified position
* *
* The position of the servo is specified in the pulse width that * The position of the servo is specified in the pulse width that
* controls the servo. With default configurations, a value of 1500 * controls the servo. With default configurations, a value of 1500

View File

@ -6,9 +6,6 @@
* directory for more details. * directory for more details.
*/ */
#ifndef SHT11_H
#define SHT11_H
/** /**
* @defgroup drivers_sht11 SHT11 Humidity and Temperature Sensor * @defgroup drivers_sht11 SHT11 Humidity and Temperature Sensor
* @ingroup drivers_sensors * @ingroup drivers_sensors
@ -21,6 +18,9 @@
* @author Freie Universität Berlin, Computer Systems & Telematics * @author Freie Universität Berlin, Computer Systems & Telematics
*/ */
#ifndef SHT11_H
#define SHT11_H
#include <stdint.h> #include <stdint.h>
#ifdef __cplusplus #ifdef __cplusplus
@ -104,5 +104,5 @@ uint8_t sht11_read_status(uint8_t *p_value, uint8_t *p_checksum);
} }
#endif #endif
/** @} */
#endif /* SHT11_H */ #endif /* SHT11_H */
/** @} */

Some files were not shown because too many files have changed in this diff Show More