Patched for Audio example - Add status check when DFSDM's filter and channel de-init.

Dependents:   DISCO_F413ZH-AUDIO-demo

The base repository is https://os.mbed.com/teams/ST/code/BSP_DISCO_F413ZH/. I've just added workaround patch for Audio-in demo on DISCO_F413ZH board(Microphone U16, U17)

Committer:
Daniel_Lee
Date:
Fri Jan 31 07:17:05 2020 +0000
Revision:
4:c051317d4051
Parent:
0:4af3ca173992
Patched for Audio example;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
arostm 0:4af3ca173992 1 /**
arostm 0:4af3ca173992 2 ******************************************************************************
arostm 0:4af3ca173992 3 * @file gyro.h
arostm 0:4af3ca173992 4 * @author MCD Application Team
arostm 0:4af3ca173992 5 * @version V4.0.1
arostm 0:4af3ca173992 6 * @date 21-July-2015
arostm 0:4af3ca173992 7 * @brief This header file contains the functions prototypes for the gyroscope driver.
arostm 0:4af3ca173992 8 ******************************************************************************
arostm 0:4af3ca173992 9 * @attention
arostm 0:4af3ca173992 10 *
arostm 0:4af3ca173992 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
arostm 0:4af3ca173992 12 *
arostm 0:4af3ca173992 13 * Redistribution and use in source and binary forms, with or without modification,
arostm 0:4af3ca173992 14 * are permitted provided that the following conditions are met:
arostm 0:4af3ca173992 15 * 1. Redistributions of source code must retain the above copyright notice,
arostm 0:4af3ca173992 16 * this list of conditions and the following disclaimer.
arostm 0:4af3ca173992 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
arostm 0:4af3ca173992 18 * this list of conditions and the following disclaimer in the documentation
arostm 0:4af3ca173992 19 * and/or other materials provided with the distribution.
arostm 0:4af3ca173992 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
arostm 0:4af3ca173992 21 * may be used to endorse or promote products derived from this software
arostm 0:4af3ca173992 22 * without specific prior written permission.
arostm 0:4af3ca173992 23 *
arostm 0:4af3ca173992 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
arostm 0:4af3ca173992 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
arostm 0:4af3ca173992 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
arostm 0:4af3ca173992 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
arostm 0:4af3ca173992 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
arostm 0:4af3ca173992 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
arostm 0:4af3ca173992 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
arostm 0:4af3ca173992 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
arostm 0:4af3ca173992 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
arostm 0:4af3ca173992 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
arostm 0:4af3ca173992 34 *
arostm 0:4af3ca173992 35 ******************************************************************************
arostm 0:4af3ca173992 36 */
arostm 0:4af3ca173992 37
arostm 0:4af3ca173992 38
arostm 0:4af3ca173992 39 /* Define to prevent recursive inclusion -------------------------------------*/
arostm 0:4af3ca173992 40 #ifndef __GYRO_H
arostm 0:4af3ca173992 41 #define __GYRO_H
arostm 0:4af3ca173992 42
arostm 0:4af3ca173992 43 #ifdef __cplusplus
arostm 0:4af3ca173992 44 extern "C" {
arostm 0:4af3ca173992 45 #endif
arostm 0:4af3ca173992 46
arostm 0:4af3ca173992 47 /* Includes ------------------------------------------------------------------*/
arostm 0:4af3ca173992 48 #include <stdint.h>
arostm 0:4af3ca173992 49
arostm 0:4af3ca173992 50 /** @addtogroup BSP
arostm 0:4af3ca173992 51 * @{
arostm 0:4af3ca173992 52 */
arostm 0:4af3ca173992 53
arostm 0:4af3ca173992 54 /** @addtogroup Components
arostm 0:4af3ca173992 55 * @{
arostm 0:4af3ca173992 56 */
arostm 0:4af3ca173992 57
arostm 0:4af3ca173992 58 /** @addtogroup GYRO
arostm 0:4af3ca173992 59 * @{
arostm 0:4af3ca173992 60 */
arostm 0:4af3ca173992 61
arostm 0:4af3ca173992 62 /** @defgroup GYRO_Exported_Types
arostm 0:4af3ca173992 63 * @{
arostm 0:4af3ca173992 64 */
arostm 0:4af3ca173992 65
arostm 0:4af3ca173992 66 /** @defgroup GYRO_Driver_structure Gyroscope Driver structure
arostm 0:4af3ca173992 67 * @{
arostm 0:4af3ca173992 68 */
arostm 0:4af3ca173992 69 typedef struct
arostm 0:4af3ca173992 70 {
arostm 0:4af3ca173992 71 void (*Init)(uint16_t);
arostm 0:4af3ca173992 72 void (*DeInit)(void);
arostm 0:4af3ca173992 73 uint8_t (*ReadID)(void);
arostm 0:4af3ca173992 74 void (*Reset)(void);
arostm 0:4af3ca173992 75 void (*LowPower)(uint16_t);
arostm 0:4af3ca173992 76 void (*ConfigIT)(uint16_t);
arostm 0:4af3ca173992 77 void (*EnableIT)(uint8_t);
arostm 0:4af3ca173992 78 void (*DisableIT)(uint8_t);
arostm 0:4af3ca173992 79 uint8_t (*ITStatus)(uint16_t, uint16_t);
arostm 0:4af3ca173992 80 void (*ClearIT)(uint16_t, uint16_t);
arostm 0:4af3ca173992 81 void (*FilterConfig)(uint8_t);
arostm 0:4af3ca173992 82 void (*FilterCmd)(uint8_t);
arostm 0:4af3ca173992 83 void (*GetXYZ)(float *);
arostm 0:4af3ca173992 84 }GYRO_DrvTypeDef;
arostm 0:4af3ca173992 85 /**
arostm 0:4af3ca173992 86 * @}
arostm 0:4af3ca173992 87 */
arostm 0:4af3ca173992 88
arostm 0:4af3ca173992 89 /** @defgroup GYRO_Config_structure Gyroscope Configuration structure
arostm 0:4af3ca173992 90 * @{
arostm 0:4af3ca173992 91 */
arostm 0:4af3ca173992 92
arostm 0:4af3ca173992 93 typedef struct
arostm 0:4af3ca173992 94 {
arostm 0:4af3ca173992 95 uint8_t Power_Mode; /* Power-down/Sleep/Normal Mode */
arostm 0:4af3ca173992 96 uint8_t Output_DataRate; /* OUT data rate */
arostm 0:4af3ca173992 97 uint8_t Axes_Enable; /* Axes enable */
arostm 0:4af3ca173992 98 uint8_t Band_Width; /* Bandwidth selection */
arostm 0:4af3ca173992 99 uint8_t BlockData_Update; /* Block Data Update */
arostm 0:4af3ca173992 100 uint8_t Endianness; /* Endian Data selection */
arostm 0:4af3ca173992 101 uint8_t Full_Scale; /* Full Scale selection */
arostm 0:4af3ca173992 102 }GYRO_InitTypeDef;
arostm 0:4af3ca173992 103
arostm 0:4af3ca173992 104 /* GYRO High Pass Filter struct */
arostm 0:4af3ca173992 105 typedef struct
arostm 0:4af3ca173992 106 {
arostm 0:4af3ca173992 107 uint8_t HighPassFilter_Mode_Selection; /* Internal filter mode */
arostm 0:4af3ca173992 108 uint8_t HighPassFilter_CutOff_Frequency; /* High pass filter cut-off frequency */
arostm 0:4af3ca173992 109 }GYRO_FilterConfigTypeDef;
arostm 0:4af3ca173992 110
arostm 0:4af3ca173992 111 /*GYRO Interrupt struct */
arostm 0:4af3ca173992 112 typedef struct
arostm 0:4af3ca173992 113 {
arostm 0:4af3ca173992 114 uint8_t Latch_Request; /* Latch interrupt request into CLICK_SRC register */
arostm 0:4af3ca173992 115 uint8_t Interrupt_Axes; /* X, Y, Z Axes Interrupts */
arostm 0:4af3ca173992 116 uint8_t Interrupt_ActiveEdge; /* Interrupt Active edge */
arostm 0:4af3ca173992 117 }GYRO_InterruptConfigTypeDef;
arostm 0:4af3ca173992 118
arostm 0:4af3ca173992 119 /**
arostm 0:4af3ca173992 120 * @}
arostm 0:4af3ca173992 121 */
arostm 0:4af3ca173992 122
arostm 0:4af3ca173992 123 /**
arostm 0:4af3ca173992 124 * @}
arostm 0:4af3ca173992 125 */
arostm 0:4af3ca173992 126
arostm 0:4af3ca173992 127 /**
arostm 0:4af3ca173992 128 * @}
arostm 0:4af3ca173992 129 */
arostm 0:4af3ca173992 130
arostm 0:4af3ca173992 131 /**
arostm 0:4af3ca173992 132 * @}
arostm 0:4af3ca173992 133 */
arostm 0:4af3ca173992 134
arostm 0:4af3ca173992 135 /**
arostm 0:4af3ca173992 136 * @}
arostm 0:4af3ca173992 137 */
arostm 0:4af3ca173992 138
arostm 0:4af3ca173992 139 #ifdef __cplusplus
arostm 0:4af3ca173992 140 }
arostm 0:4af3ca173992 141 #endif
arostm 0:4af3ca173992 142
arostm 0:4af3ca173992 143 #endif /* __GYRO_H */
arostm 0:4af3ca173992 144
arostm 0:4af3ca173992 145 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/