Class to drive the Gyroscope (L3GD20 device) present on DISCO_F429ZI board.
Dependents: DISCO-F429ZI_LCDTS_and_GYRO_test DISCO-F429ZI_Gyro_demo DISCO-F429ZI_Gyr WIRE-BANDING_FT810 ... more
GYRO_DISCO_F429ZI.h
- Committer:
- bcostm
- Date:
- 2015-12-18
- Revision:
- 0:dfe10fcd7524
File content as of revision 0:dfe10fcd7524:
/* Copyright (c) 2010-2011 mbed.org, MIT License * * Permission is hereby granted, free of charge, to any person obtaining a copy of this software * and associated documentation files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all copies or * substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef __GYRO_DISCO_F429ZI_H #define __GYRO_DISCO_F429ZI_H #ifdef TARGET_DISCO_F429ZI #include "mbed.h" #include "stm32f429i_discovery_gyroscope.h" /* Class to drive the Gyroscope (L3GD20 device) present on DISCO_F429ZI board. Usage: #include "mbed.h" #include "GYRO_DISCO_F429ZI.h" GYRO_DISCO_F429ZI gyro; int main() { float GyroBuffer[3]; while(1) { // Read Gyroscope values gyro.GetXYZ(GyroBuffer); // Display values printf("X = %f\n", GyroBuffer[0]); printf("Y = %f\n", GyroBuffer[1]); printf("Z = %f\n", GyroBuffer[2]); wait(1); } } */ class GYRO_DISCO_F429ZI { public: //! Constructor GYRO_DISCO_F429ZI(); //! Destructor ~GYRO_DISCO_F429ZI(); /** * @brief Set Gyroscope Initialization. * @param None * @retval GYRO_OK if no problem during initialization */ uint8_t Init(void); /** * @brief Read ID of Gyroscope component. * @param None * @retval ID */ uint8_t ReadID(void); /** * @brief Reboot memory content of Gyroscope. * @param None * @retval None */ void Reset(void); /** * @brief Configures INT1 interrupt. * @param pIntConfig: pointer to a L3GD20_InterruptConfig_TypeDef * structure that contains the configuration setting for the L3GD20 Interrupt. * @retval None */ void ITConfig(GYRO_InterruptConfigTypeDef *pIntConfig); /** * @brief Enables INT1 or INT2 interrupt. * @param IntPin: Interrupt pin * This parameter can be: * @arg L3GD20_INT1 * @arg L3GD20_INT2 * @retval None */ void EnableIT(uint8_t IntPin); /** * @brief Disables INT1 or INT2 interrupt. * @param IntPin: Interrupt pin * This parameter can be: * @arg L3GD20_INT1 * @arg L3GD20_INT2 * @retval None */ void DisableIT(uint8_t IntPin); /** * @brief Gets XYZ angular acceleration/ * @param pfData: pointer on floating array * @retval None */ void GetXYZ(float *pfData); private: }; #else #error "This class must be used with DISCO_F429ZI board only." #endif // TARGET_DISCO_F429ZI #endif