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: X_NUCLEO_COMMON
Fork of X_NUCLEO_IKS01A1 by
Diff: Components/Common/GyroSensor.h
- Revision:
- 28:501726e9220d
- Parent:
- 24:92cc9c6e4b2b
- Child:
- 30:7b36639ee80a
--- a/Components/Common/GyroSensor.h Wed Jun 03 15:12:38 2015 +0200
+++ b/Components/Common/GyroSensor.h Thu Jun 04 11:51:44 2015 +0200
@@ -41,7 +41,7 @@
#define __GYRO_SENSOR_CLASS_H
/* Includes ------------------------------------------------------------------*/
-#include "mbed.h"
+#include <stdint.h>
/* Classes ------------------------------------------------------------------*/
/** An abstract class for a Gyroscope
@@ -49,22 +49,80 @@
class GyroSensor
{
public:
+ /**
+ * @brief Initialization of gyroscope
+ * @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 gyroscope
+ * @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;
- virtual int Get_G_Axes(int32_t *) = 0;
- virtual int Get_G_AxesRaw(int16_t *) = 0;
+ /**
+ * @brief Get current gyroscope angular rate X/Y/Z-axes values
+ * in standard data units [mdps]
+ * @param[out] Pointer to where to store angular rates 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_G_Axes(int32_t*) = 0;
+
+ /**
+ * @brief Get current gyroscope raw data X/Y/Z-axes values
+ * in device sepcific LSB units
+ * @param[out] Pointer to where to store gyroscope 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_G_AxesRaw(int16_t*) = 0;
+
+ /**
+ * @brief Get gyroscope's current sensitivity [mdps/LSB]
+ * @param[out] Pointer to where the gyroscope's sensitivity is stored to
+ * @retval 0 in case of success, an error code otherwise
+ */
+ virtual int Get_G_Sensitivity(float*) = 0;
- virtual int Get_G_ODR(float *) = 0;
+ /**
+ * @brief Get gyroscope's current output data rate [Hz]
+ * @param[out] Pointer to where the gyroscope output data rate is stored to
+ * @retval 0 in case of success, an error code otherwise
+ */
+ virtual int Get_G_ODR(float*) = 0;
+
+ /**
+ * @brief Set gyroscope's output data rate
+ * @param[in] New value for gyroscope's output data rate in [Hz]
+ * @retval 0 in case of success, an error code otherwise
+ */
virtual int Set_G_ODR(float) = 0;
- virtual int Get_G_Sensitivity(float *) = 0;
+ /**
+ * @brief Get gyroscope's full scale value
+ * i.e. min/max measurable value [dps]
+ * @param[out] Pointer to where the gyroscope full scale value is stored to
+ * @retval 0 in case of success, an error code otherwise
+ */
+ virtual int Get_G_FS(float*) = 0;
- virtual int Get_G_FS(float *) = 0;
+ /**
+ * @brief Set gyroscope's full scale value
+ * i.e. min/max measurable value
+ * @param[in] New full scale value for gyroscope in [dps]
+ * @retval 0 in case of success, an error code otherwise
+ */
virtual int Set_G_FS(float) = 0;
-
- protected:
- GyroSensor(void) {};
};
#endif /* __GYRO_SENSOR_CLASS_H */
