Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ST_INTERFACES X_NUCLEO_COMMON
Fork of X_NUCLEO_IKS01A1 by
Diff: Components/Common/MotionSensor.h
- Revision:
- 28:501726e9220d
- Parent:
- 24:92cc9c6e4b2b
- Child:
- 30:7b36639ee80a
--- a/Components/Common/MotionSensor.h Wed Jun 03 15:12:38 2015 +0200
+++ b/Components/Common/MotionSensor.h Thu Jun 04 11:51:44 2015 +0200
@@ -41,7 +41,7 @@
#define __MOTION_SENSOR_CLASS_H
/* Includes ------------------------------------------------------------------*/
-#include "mbed.h"
+#include <stdint.h>
/* Classes ------------------------------------------------------------------*/
/** An abstract class for an Accelerometer
@@ -49,22 +49,80 @@
class MotionSensor
{
public:
+ /**
+ * @brief Initialization of accelerometer
+ * @param[out] Pointer to device specific initalization structure
+ * @retval 0 in case of success, an error code otherwise
+ */
virtual int Init(void*) = 0;
+
+ /**
+ * @brief Get ID of accelerometer
+ * @param[out] Pointer to where to store the ID to
+ * @retval 0 in case of success, an error code otherwise
+ */
virtual int ReadID(uint8_t*) = 0;
+ /**
+ * @brief Get current accelerometer linear acceleration X/Y/Z-axes values
+ * in standard data units [mg]
+ * @param[out] Pointer to where to store linear accelerations to.
+ * Pointer must point to an array of (at least) three elements, where:
+ * ptr[0] corresponds to X-axis
+ * ptr[1] corresponds to Y-axis
+ * ptr[2] corresponds to Z-axis
+ * @retval 0 in case of success, an error code otherwise
+ */
virtual int Get_X_Axes(int32_t *) = 0;
+
+ /**
+ * @brief Get current accelerometer raw data X/Y/Z-axes values
+ * in device sepcific LSB units
+ * @param[out] Pointer to where to store accelerometer raw data to.
+ * Pointer must point to an array of (at least) three elements, where:
+ * ptr[0] corresponds to X-axis
+ * ptr[1] corresponds to Y-axis
+ * ptr[2] corresponds to Z-axis
+ * @retval 0 in case of success, an error code otherwise
+ */
virtual int Get_X_AxesRaw(int16_t *) = 0;
- virtual int Get_X_ODR(float *) = 0;
- virtual int Set_X_ODR(float) = 0;
-
+ /**
+ * @brief Get accelerometer's current sensitivity [mg/LSB]
+ * @param[out] Pointer to where the accelerometer's sensitivity is stored to
+ * @retval 0 in case of success, an error code otherwise
+ */
virtual int Get_X_Sensitivity(float *) = 0;
- virtual int Get_X_FS(float *) = 0;
- virtual int Set_X_FS(float) = 0;
+ /**
+ * @brief Get accelerometer's current output data rate [Hz]
+ * @param[out] Pointer to where the accelerometer output data rate is stored to
+ * @retval 0 in case of success, an error code otherwise
+ */
+ virtual int Get_X_ODR(float *) = 0;
+
+ /**
+ * @brief Set accelerometer's output data rate
+ * @param[in] New value for accelerometer's output data rate in [Hz]
+ * @retval 0 in case of success, an error code otherwise
+ */
+ virtual int Set_X_ODR(float) = 0;
- protected:
- MotionSensor(void) {};
+ /**
+ * @brief Get accelerometer's full scale value
+ * i.e. min/max measurable value [g]
+ * @param[out] Pointer to where the accelerometer full scale value is stored to
+ * @retval 0 in case of success, an error code otherwise
+ */
+ virtual int Get_X_FS(float *) = 0;
+
+ /**
+ * @brief Set accelerometer's full scale value
+ * i.e. min/max measurable value
+ * @param[in] New full scale value for accelerometer in [g]
+ * @retval 0 in case of success, an error code otherwise
+ */
+ virtual int Set_X_FS(float) = 0;
};
#endif /* __MOTION_SENSOR_CLASS_H */
