drivers: doxygen cleanup
This commit is contained in:
parent
d512967fb6
commit
94c753c07a
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_adcxx1c
|
* @ingroup drivers_adcxx1c
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @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
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 */
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_bmx280
|
* @ingroup drivers_bmx280
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @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 */
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_cc110x
|
* @ingroup drivers_cc110x
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @file
|
||||||
|
|||||||
@ -203,5 +203,5 @@ extern "C" {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** @} */
|
|
||||||
#endif /* CC110X_DEFINES_H */
|
#endif /* CC110X_DEFINES_H */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -62,5 +62,5 @@ void cc110x_hook_off(void);
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** @} */
|
|
||||||
#endif /* CC110X_INTERFACE_H */
|
#endif /* CC110X_INTERFACE_H */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -206,5 +206,5 @@ typedef struct cc110x_statistic {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** @} */
|
|
||||||
#endif /* CC110X_INTERNAL_H */
|
#endif /* CC110X_INTERNAL_H */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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 */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -112,5 +112,5 @@ void cc110x_cs(cc110x_t *dev);
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** @} */
|
|
||||||
#endif /* CC110X_SPI_H */
|
#endif /* CC110X_SPI_H */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @ingroup drivers_ds1307
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @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
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_enc28j60
|
* @ingroup drivers_enc28j60
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_encx24j600
|
* @ingroup drivers_encx24j600
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @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)
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_encx24j600
|
* @ingroup drivers_encx24j600
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @file
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_ethos
|
* @ingroup drivers_ethos
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @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)
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_hdc1000
|
* @ingroup drivers_hdc1000
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @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
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_hih6130
|
* @ingroup drivers_hih6130
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @file
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_ina220
|
* @ingroup drivers_ina220
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @file
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup driver_ina220
|
* @ingroup drivers_ina220
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* @file
|
* @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
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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 */
|
||||||
|
|||||||
@ -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 */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -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
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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 */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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 */
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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
@ -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
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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$
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -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 */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -392,5 +392,6 @@ typedef struct netdev_driver {
|
|||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/** @} */
|
|
||||||
#endif /* NET_NETDEV_H */
|
#endif /* NET_NETDEV_H */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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 */
|
||||||
|
/** @} */
|
||||||
|
|||||||
@ -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".
|
||||||
|
|||||||
@ -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.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -52,6 +52,4 @@ void cpuid_get(void *id);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* PERIPH_CPUID_H */
|
#endif /* PERIPH_CPUID_H */
|
||||||
/**
|
/** @} */
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
*
|
*
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
Loading…
x
Reference in New Issue
Block a user