|
- /*!
- * \file mag3110.h
- *
- * \brief MAG3110 Magnetometer driver implementation
- *
- * \copyright Revised BSD License, see section \ref LICENSE.
- *
- * \code
- * ______ _
- * / _____) _ | |
- * ( (____ _____ ____ _| |_ _____ ____| |__
- * \____ \| ___ | (_ _) ___ |/ ___) _ \
- * _____) ) ____| | | || |_| ____( (___| | | |
- * (______/|_____)_|_|_| \__)_____)\____)_| |_|
- * (C)2013-2017 Semtech
- *
- * \endcode
- *
- * \author Miguel Luis ( Semtech )
- *
- * \author Gregory Cristian ( Semtech )
- */
- #ifndef __MAG3110_H__
- #define __MAG3110_H__
-
- #ifdef __cplusplus
- extern "C"
- {
- #endif
-
- #include <stdint.h>
- #include "utilities.h"
-
- /*!
- * MAG3110 I2C address
- */
- #define MAG3110_I2C_ADDRESS 0x0E
-
- /*!
- * MAG3110 Registers
- */
- #define MAG3110_ID 0x07
-
- /*!
- * \brief Initializes the device
- *
- * \retval status [LMN_STATUS_OK, LMN_STATUS_ERROR]
- */
- LmnStatus_t MAG3110Init( void );
-
- /*!
- * \brief Resets the device
- *
- * \retval status [LMN_STATUS_OK, LMN_STATUS_ERROR]
- */
- LmnStatus_t MAG3110Reset( void );
-
- /*!
- * \brief Writes a byte at specified address in the device
- *
- * \param [IN]: addr
- * \param [IN]: data
- * \retval status [LMN_STATUS_OK, LMN_STATUS_ERROR]
- */
- LmnStatus_t MAG3110Write( uint8_t addr, uint8_t data );
-
- /*!
- * \brief Writes a buffer at specified address in the device
- *
- * \param [IN]: addr
- * \param [IN]: data
- * \param [IN]: size
- * \retval status [LMN_STATUS_OK, LMN_STATUS_ERROR]
- */
- LmnStatus_t MAG3110WriteBuffer( uint8_t addr, uint8_t *data, uint8_t size );
-
- /*!
- * \brief Reads a byte at specified address in the device
- *
- * \param [IN]: addr
- * \param [OUT]: data
- * \retval status [LMN_STATUS_OK, LMN_STATUS_ERROR]
- */
- LmnStatus_t MAG3110Read( uint8_t addr, uint8_t *data );
-
- /*!
- * \brief Reads a buffer at specified address in the device
- *
- * \param [IN]: addr
- * \param [OUT]: data
- * \param [IN]: size
- * \retval status [LMN_STATUS_OK, LMN_STATUS_ERROR]
- */
- LmnStatus_t MAG3110ReadBuffer( uint8_t addr, uint8_t *data, uint8_t size );
-
- /*!
- * \brief Sets the I2C device slave address
- *
- * \param [IN]: addr
- */
- void MAG3110SetDeviceAddr( uint8_t addr );
-
- /*!
- * \brief Gets the I2C device slave address
- *
- * \retval: addr Current device slave address
- */
- uint8_t MAG3110GetDeviceAddr( void );
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif // __MAG3110_H__
|