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.
Fork of TUKS-COURSE-TIMER by
gyro.h
00001 /** 00002 ****************************************************************************** 00003 * @file gyro.h 00004 * @author MCD Application Team 00005 * @version V4.0.0 00006 * @date 22-June-2015 00007 * @brief This header file contains the functions prototypes for the gyroscope driver. 00008 ****************************************************************************** 00009 * @attention 00010 * 00011 * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> 00012 * 00013 * Redistribution and use in source and binary forms, with or without modification, 00014 * are permitted provided that the following conditions are met: 00015 * 1. Redistributions of source code must retain the above copyright notice, 00016 * this list of conditions and the following disclaimer. 00017 * 2. Redistributions in binary form must reproduce the above copyright notice, 00018 * this list of conditions and the following disclaimer in the documentation 00019 * and/or other materials provided with the distribution. 00020 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00021 * may be used to endorse or promote products derived from this software 00022 * without specific prior written permission. 00023 * 00024 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00025 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00027 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00028 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00029 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00030 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00031 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00032 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00033 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00034 * 00035 ****************************************************************************** 00036 */ 00037 00038 00039 /* Define to prevent recursive inclusion -------------------------------------*/ 00040 #ifndef __GYRO_H 00041 #define __GYRO_H 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00047 /* Includes ------------------------------------------------------------------*/ 00048 #include <stdint.h> 00049 00050 /** @addtogroup BSP 00051 * @{ 00052 */ 00053 00054 /** @addtogroup Components 00055 * @{ 00056 */ 00057 00058 /** @addtogroup GYRO 00059 * @{ 00060 */ 00061 00062 /** @defgroup GYRO_Exported_Types 00063 * @{ 00064 */ 00065 00066 /** @defgroup GYRO_Driver_structure Gyroscope Driver structure 00067 * @{ 00068 */ 00069 typedef struct 00070 { 00071 void (*Init)(uint16_t); 00072 void (*DeInit)(void); 00073 uint8_t (*ReadID)(void); 00074 void (*Reset)(void); 00075 void (*LowPower)(uint16_t); 00076 void (*ConfigIT)(uint16_t); 00077 void (*EnableIT)(uint8_t); 00078 void (*DisableIT)(uint8_t); 00079 uint8_t (*ITStatus)(uint16_t, uint16_t); 00080 void (*ClearIT)(uint16_t, uint16_t); 00081 void (*FilterConfig)(uint8_t); 00082 void (*FilterCmd)(uint8_t); 00083 void (*GetXYZ)(float *); 00084 }GYRO_DrvTypeDef; 00085 /** 00086 * @} 00087 */ 00088 00089 /** @defgroup GYRO_Config_structure Gyroscope Configuration structure 00090 * @{ 00091 */ 00092 00093 typedef struct 00094 { 00095 uint8_t Power_Mode; /* Power-down/Sleep/Normal Mode */ 00096 uint8_t Output_DataRate; /* OUT data rate */ 00097 uint8_t Axes_Enable; /* Axes enable */ 00098 uint8_t Band_Width; /* Bandwidth selection */ 00099 uint8_t BlockData_Update; /* Block Data Update */ 00100 uint8_t Endianness; /* Endian Data selection */ 00101 uint8_t Full_Scale; /* Full Scale selection */ 00102 }GYRO_InitTypeDef; 00103 00104 /* GYRO High Pass Filter struct */ 00105 typedef struct 00106 { 00107 uint8_t HighPassFilter_Mode_Selection; /* Internal filter mode */ 00108 uint8_t HighPassFilter_CutOff_Frequency; /* High pass filter cut-off frequency */ 00109 }GYRO_FilterConfigTypeDef; 00110 00111 /*GYRO Interrupt struct */ 00112 typedef struct 00113 { 00114 uint8_t Latch_Request; /* Latch interrupt request into CLICK_SRC register */ 00115 uint8_t Interrupt_Axes; /* X, Y, Z Axes Interrupts */ 00116 uint8_t Interrupt_ActiveEdge; /* Interrupt Active edge */ 00117 }GYRO_InterruptConfigTypeDef; 00118 00119 /** 00120 * @} 00121 */ 00122 00123 /** 00124 * @} 00125 */ 00126 00127 /** 00128 * @} 00129 */ 00130 00131 /** 00132 * @} 00133 */ 00134 00135 /** 00136 * @} 00137 */ 00138 00139 #ifdef __cplusplus 00140 } 00141 #endif 00142 00143 #endif /* __GYRO_H */ 00144 00145 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 17:38:48 by
