Official interfaces for ST components.
Dependents: X_NUCLEO_IKS01A1 mDot_X_NUCLEO_IKS01A1 53L0A1 X_NUCLEO_IKS01A1 ... more
Fork of ST_INTERFACES by
This library contains all abstract classes which together constitute the common API to which all existing and future ST components will adhere to.
Diff: Sensors/MotionSensor.h
- Revision:
- 3:b1bb477e115e
- Parent:
- 1:a7810e7acf8d
--- a/Sensors/MotionSensor.h Tue Nov 29 17:43:48 2016 +0000 +++ b/Sensors/MotionSensor.h Fri Mar 10 10:50:53 2017 +0100 @@ -36,71 +36,78 @@ ****************************************************************************** */ + /* Define to prevent from recursive inclusion --------------------------------*/ + #ifndef __MOTION_SENSOR_CLASS_H #define __MOTION_SENSOR_CLASS_H + /* Includes ------------------------------------------------------------------*/ -#include <ComponentObject.h> + +#include <Component.h> + /* Classes ------------------------------------------------------------------*/ -/** An abstract class for an Accelerometer + +/** + * An abstract class for an Accelerometer */ -class MotionSensor : public ComponentObject -{ - public: +class MotionSensor : public Component { +public: + /** * @brief Get current accelerometer linear acceleration X/Y/Z-axes values * in standard data units [mg] - * @param[out] pData Pointer to where to store linear accelerations to. - * pData must point to an array of (at least) three elements, where: - * pData[0] corresponds to X-axis, - * pData[1] corresponds to Y-axis, and - * pData[2] corresponds to Z-axis. + * @param[out] p_data Pointer to where to store linear accelerations to. + * p_data must point to an array of (at least) three elements, where: + * p_data[0] corresponds to X-axis, + * p_data[1] corresponds to Y-axis, and + * p_data[2] corresponds to Z-axis. * @return 0 in case of success, an error code otherwise */ - virtual int Get_X_Axes(int32_t *pData) = 0; + virtual int get_x_axes(int32_t *p_data) = 0; /** * @brief Get current accelerometer raw data X/Y/Z-axes values * in device sepcific LSB units - * @param[out] pData Pointer to where to store accelerometer raw data to. - * pData must point to an array of (at least) three elements, where: - * pData[0] corresponds to X-axis, - * pData[1] corresponds to Y-axis, and - * pData[2] corresponds to Z-axis. + * @param[out] p_data Pointer to where to store accelerometer raw data to. + * p_data must point to an array of (at least) three elements, where: + * p_data[0] corresponds to X-axis, + * p_data[1] corresponds to Y-axis, and + * p_data[2] corresponds to Z-axis. * @return 0 in case of success, an error code otherwise */ - virtual int Get_X_AxesRaw(int16_t *pData) = 0; + virtual int get_x_axes_raw(int16_t *p_data) = 0; /** * @brief Get accelerometer's current sensitivity [mg/LSB] - * @param[out] pfData Pointer to where the accelerometer's sensitivity is stored to + * @param[out] pf_data Pointer to where the accelerometer's sensitivity is stored to * @return 0 in case of success, an error code otherwise */ - virtual int Get_X_Sensitivity(float *pfData) = 0; + virtual int get_x_sensitivity(float *pf_data) = 0; /** * @brief Get accelerometer's current output data rate [Hz] - * @param[out] pfData Pointer to where the accelerometer output data rate is stored to + * @param[out] pf_data Pointer to where the accelerometer output data rate is stored to * @return 0 in case of success, an error code otherwise */ - virtual int Get_X_ODR(float *pfData) = 0; + virtual int get_x_odr(float *pf_data) = 0; /** * @brief Set accelerometer's output data rate * @param[in] odr New value for accelerometer's output data rate in [Hz] * @return 0 in case of success, an error code otherwise */ - virtual int Set_X_ODR(float odr) = 0; + virtual int set_x_odr(float odr) = 0; /** * @brief Get accelerometer's full scale value * i.e.\ min/max measurable value [g] - * @param[out] pfData Pointer to where the accelerometer full scale value is stored to + * @param[out] pf_data Pointer to where the accelerometer full scale value is stored to * @return 0 in case of success, an error code otherwise */ - virtual int Get_X_FS(float *pfData) = 0; + virtual int get_x_fs(float *pf_data) = 0; /** * @brief Set accelerometer's full scale value @@ -108,7 +115,12 @@ * @param[in] fs New full scale value for accelerometer in [g] * @return 0 in case of success, an error code otherwise */ - virtual int Set_X_FS(float fs) = 0; + virtual int set_x_fs(float fs) = 0; + + /** + * @brief Destructor. + */ + virtual ~MotionSensor() {}; }; #endif /* __MOTION_SENSOR_CLASS_H */