ARMEBS4  revision-26.06.2015
accelerometer.h
Go to the documentation of this file.
1 /*************************************************************************//**
2  * \file heivs/accelerometer.h
3  * \brief ARMEBS4 accelerometer access functions
4  * \author Pascal Sartoretti (sap at hevs dot ch)
5  *
6  * \defgroup accelerometer Accelerometer
7  * @{
8  *
9  * \brief Measures the acceleration force that is applied to the board
10  *
11  * \ingroup onboard
12  *
13  * The acceleration force applied to the device is measured on all three
14  * (x, y, z) physical axes and includes the force of gravity.
15  *
16  * \image html accelerometer.jpg
17  * \image latex accelerometer.eps
18  *
19  * This kind of device is typically used to :
20  * - Simulate a spirit level
21  * - Rotate the screen according to the orientation of the device
22  * - Detect free fall (in hard drives)
23  *
24  ****************************************************************************/
25 
26 #include <stdint.h>
27 #include "heivs/error.h"
28 
29 /*************************************************************************//**
30  * \brief Accelerometer data
31  ****************************************************************************/
33 {
34  int8_t x; ///< x axis acceleration value (31 to -32)
35  int8_t y; ///< y axis acceleration value (31 to -32)
36  int8_t z; ///< z axis acceleration value (31 to -32)
37 };
38 
39 #ifdef __cplusplus
40  extern "C" {
41 #endif
42 /*************************************************************************//**
43  * \brief Initialize the accelerometer
44  * \return #NO_ERROR for no problem
45  *
46  * Accelerometer is initialized for fast acquisition
47  ****************************************************************************/
48 status_e Accel_Init(void);
49 
50 /*************************************************************************//**
51  * \brief Read data from accelerometer
52  * \param data Pointer to structure of data
53  * \return #NO_ERROR for no problem
54  ****************************************************************************/
56 
57 /*************************************************************************//**
58  * \brief Write special config to accelrometer
59  * \param reg Register address to write in
60  * \param data Data byte to write in this register
61  * \return #NO_ERROR for no problem
62  ****************************************************************************/
63 status_e Accel_WriteCfg(uint8_t reg, uint8_t data);
64 
65 #ifdef __cplusplus
66  }
67 #endif
68 
69 /**
70  * @}
71  */
int8_t y
y axis acceleration value (31 to -32)
Definition: accelerometer.h:35
status_e Accel_WriteCfg(uint8_t reg, uint8_t data)
Write special config to accelrometer.
Definition: accelerometer.c:90
Errors definitions.
int8_t x
x axis acceleration value (31 to -32)
Definition: accelerometer.h:34
Accelerometer data.
Definition: accelerometer.h:32
status_e Accel_Init(void)
Initialize the accelerometer.
Definition: accelerometer.c:32
status_e
Known errors.
Definition: error.h:21
int8_t z
z axis acceleration value (31 to -32)
Definition: accelerometer.h:36
status_e Accel_Read(struct accelerometer_data_t *data)
Read data from accelerometer.
Definition: accelerometer.c:51