20#ifndef __STM32F4xx_HAL_DFSDM_H
21#define __STM32F4xx_HAL_DFSDM_H
27#if defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx)
49 HAL_DFSDM_CHANNEL_STATE_RESET = 0x00U,
50 HAL_DFSDM_CHANNEL_STATE_READY = 0x01U,
51 HAL_DFSDM_CHANNEL_STATE_ERROR = 0xFFU
52}HAL_DFSDM_Channel_StateTypeDef;
59 FunctionalState Activation;
64}DFSDM_Channel_OutputClockTypeDef;
77}DFSDM_Channel_InputTypeDef;
88}DFSDM_Channel_SerialInterfaceTypeDef;
97 uint32_t Oversampling;
99}DFSDM_Channel_AwdTypeDef;
106 DFSDM_Channel_OutputClockTypeDef OutputClock;
107 DFSDM_Channel_InputTypeDef Input;
108 DFSDM_Channel_SerialInterfaceTypeDef SerialInterface;
109 DFSDM_Channel_AwdTypeDef Awd;
112 uint32_t RightBitShift;
114}DFSDM_Channel_InitTypeDef;
119#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
120typedef struct __DFSDM_Channel_HandleTypeDef
125 DFSDM_Channel_TypeDef *Instance;
126 DFSDM_Channel_InitTypeDef Init;
127 HAL_DFSDM_Channel_StateTypeDef State;
128#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
129 void (*CkabCallback) (
struct __DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
130 void (*ScdCallback) (
struct __DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
131 void (*MspInitCallback) (
struct __DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
132 void (*MspDeInitCallback) (
struct __DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
134}DFSDM_Channel_HandleTypeDef;
136#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
142 HAL_DFSDM_CHANNEL_CKAB_CB_ID = 0x00U,
143 HAL_DFSDM_CHANNEL_SCD_CB_ID = 0x01U,
144 HAL_DFSDM_CHANNEL_MSPINIT_CB_ID = 0x02U,
145 HAL_DFSDM_CHANNEL_MSPDEINIT_CB_ID = 0x03U
146}HAL_DFSDM_Channel_CallbackIDTypeDef;
151typedef void (*pDFSDM_Channel_CallbackTypeDef)(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
158 HAL_DFSDM_FILTER_STATE_RESET = 0x00U,
159 HAL_DFSDM_FILTER_STATE_READY = 0x01U,
160 HAL_DFSDM_FILTER_STATE_REG = 0x02U,
161 HAL_DFSDM_FILTER_STATE_INJ = 0x03U,
162 HAL_DFSDM_FILTER_STATE_REG_INJ = 0x04U,
163 HAL_DFSDM_FILTER_STATE_ERROR = 0xFFU
164}HAL_DFSDM_Filter_StateTypeDef;
173 FunctionalState FastMode;
174 FunctionalState DmaMode;
175}DFSDM_Filter_RegularParamTypeDef;
184 FunctionalState ScanMode;
185 FunctionalState DmaMode;
188 uint32_t ExtTriggerEdge;
190}DFSDM_Filter_InjectedParamTypeDef;
199 uint32_t Oversampling;
201 uint32_t IntOversampling;
203}DFSDM_Filter_FilterParamTypeDef;
210 DFSDM_Filter_RegularParamTypeDef RegularParam;
211 DFSDM_Filter_InjectedParamTypeDef InjectedParam;
212 DFSDM_Filter_FilterParamTypeDef FilterParam;
213}DFSDM_Filter_InitTypeDef;
218#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
219typedef struct __DFSDM_Filter_HandleTypeDef
224 DFSDM_Filter_TypeDef *Instance;
225 DFSDM_Filter_InitTypeDef Init;
228 uint32_t RegularContMode;
229 uint32_t RegularTrigger;
230 uint32_t InjectedTrigger;
231 uint32_t ExtTriggerEdge;
232 FunctionalState InjectedScanMode;
233 uint32_t InjectedChannelsNbr;
234 uint32_t InjConvRemaining;
235 HAL_DFSDM_Filter_StateTypeDef State;
237#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
238 void (*AwdCallback) (
struct __DFSDM_Filter_HandleTypeDef *hdfsdm_filter,
239 uint32_t Channel, uint32_t Threshold);
240 void (*RegConvCpltCallback) (
struct __DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
241 void (*RegConvHalfCpltCallback) (
struct __DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
242 void (*InjConvCpltCallback) (
struct __DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
243 void (*InjConvHalfCpltCallback) (
struct __DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
244 void (*ErrorCallback) (
struct __DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
245 void (*MspInitCallback) (
struct __DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
246 void (*MspDeInitCallback) (
struct __DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
248}DFSDM_Filter_HandleTypeDef;
259 int32_t HighThreshold;
261 int32_t LowThreshold;
263 uint32_t HighBreakSignal;
265 uint32_t LowBreakSignal;
267}DFSDM_Filter_AwdParamTypeDef;
269#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
275 HAL_DFSDM_FILTER_REGCONV_COMPLETE_CB_ID = 0x00U,
276 HAL_DFSDM_FILTER_REGCONV_HALFCOMPLETE_CB_ID = 0x01U,
277 HAL_DFSDM_FILTER_INJCONV_COMPLETE_CB_ID = 0x02U,
278 HAL_DFSDM_FILTER_INJCONV_HALFCOMPLETE_CB_ID = 0x03U,
279 HAL_DFSDM_FILTER_ERROR_CB_ID = 0x04U,
280 HAL_DFSDM_FILTER_MSPINIT_CB_ID = 0x05U,
281 HAL_DFSDM_FILTER_MSPDEINIT_CB_ID = 0x06U
282}HAL_DFSDM_Filter_CallbackIDTypeDef;
287typedef void (*pDFSDM_Filter_CallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
288typedef void (*pDFSDM_Filter_AwdCallbackTypeDef)(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Channel, uint32_t Threshold);
294#if defined(SYSCFG_MCHDLYCR_BSCKSEL)
300 uint32_t DFSDM1ClockIn;
302 uint32_t DFSDM2ClockIn;
304 uint32_t DFSDM1ClockOut;
306 uint32_t DFSDM2ClockOut;
308 uint32_t DFSDM1BitClkDistribution;
312 uint32_t DFSDM2BitClkDistribution;
318 uint32_t DFSDM1DataDistribution;
320 uint32_t DFSDM2DataDistribution;
322}DFSDM_MultiChannelConfigTypeDef;
338#define DFSDM_CHANNEL_OUTPUT_CLOCK_SYSTEM 0x00000000U
339#define DFSDM_CHANNEL_OUTPUT_CLOCK_AUDIO DFSDM_CHCFGR1_CKOUTSRC
347#define DFSDM_CHANNEL_EXTERNAL_INPUTS 0x00000000U
348#define DFSDM_CHANNEL_INTERNAL_REGISTER DFSDM_CHCFGR1_DATMPX_1
356#define DFSDM_CHANNEL_STANDARD_MODE 0x00000000U
357#define DFSDM_CHANNEL_INTERLEAVED_MODE DFSDM_CHCFGR1_DATPACK_0
358#define DFSDM_CHANNEL_DUAL_MODE DFSDM_CHCFGR1_DATPACK_1
366#define DFSDM_CHANNEL_SAME_CHANNEL_PINS 0x00000000U
367#define DFSDM_CHANNEL_FOLLOWING_CHANNEL_PINS DFSDM_CHCFGR1_CHINSEL
375#define DFSDM_CHANNEL_SPI_RISING 0x00000000U
376#define DFSDM_CHANNEL_SPI_FALLING DFSDM_CHCFGR1_SITP_0
377#define DFSDM_CHANNEL_MANCHESTER_RISING DFSDM_CHCFGR1_SITP_1
378#define DFSDM_CHANNEL_MANCHESTER_FALLING DFSDM_CHCFGR1_SITP
386#define DFSDM_CHANNEL_SPI_CLOCK_EXTERNAL 0x00000000U
387#define DFSDM_CHANNEL_SPI_CLOCK_INTERNAL DFSDM_CHCFGR1_SPICKSEL_0
388#define DFSDM_CHANNEL_SPI_CLOCK_INTERNAL_DIV2_FALLING DFSDM_CHCFGR1_SPICKSEL_1
389#define DFSDM_CHANNEL_SPI_CLOCK_INTERNAL_DIV2_RISING DFSDM_CHCFGR1_SPICKSEL
397#define DFSDM_CHANNEL_FASTSINC_ORDER 0x00000000U
398#define DFSDM_CHANNEL_SINC1_ORDER DFSDM_CHAWSCDR_AWFORD_0
399#define DFSDM_CHANNEL_SINC2_ORDER DFSDM_CHAWSCDR_AWFORD_1
400#define DFSDM_CHANNEL_SINC3_ORDER DFSDM_CHAWSCDR_AWFORD
408#define DFSDM_FILTER_SW_TRIGGER 0x00000000U
409#define DFSDM_FILTER_SYNC_TRIGGER 0x00000001U
410#define DFSDM_FILTER_EXT_TRIGGER 0x00000002U
418#if defined(STM32F413xx) || defined(STM32F423xx)
420#define DFSDM_FILTER_EXT_TRIG_TIM1_TRGO 0x00000000U
421#define DFSDM_FILTER_EXT_TRIG_TIM3_TRGO DFSDM_FLTCR1_JEXTSEL_0
422#define DFSDM_FILTER_EXT_TRIG_TIM8_TRGO DFSDM_FLTCR1_JEXTSEL_1
423#define DFSDM_FILTER_EXT_TRIG_TIM10_OC1 (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_1)
424#define DFSDM_FILTER_EXT_TRIG_TIM2_TRGO (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_1)
425#define DFSDM_FILTER_EXT_TRIG_TIM4_TRGO DFSDM_FLTCR1_JEXTSEL_2
426#define DFSDM_FILTER_EXT_TRIG_TIM11_OC1 DFSDM_FLTCR1_JEXTSEL_2
427#define DFSDM_FILTER_EXT_TRIG_TIM6_TRGO (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_2)
428#define DFSDM_FILTER_EXT_TRIG_TIM7_TRGO (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_2)
429#define DFSDM_FILTER_EXT_TRIG_EXTI11 (DFSDM_FLTCR1_JEXTSEL_1 | DFSDM_FLTCR1_JEXTSEL_2)
430#define DFSDM_FILTER_EXT_TRIG_EXTI15 DFSDM_FLTCR1_JEXTSEL
433#define DFSDM_FILTER_EXT_TRIG_TIM1_TRGO 0x00000000U
434#define DFSDM_FILTER_EXT_TRIG_TIM3_TRGO DFSDM_FLTCR1_JEXTSEL_0
435#define DFSDM_FILTER_EXT_TRIG_TIM8_TRGO DFSDM_FLTCR1_JEXTSEL_1
436#define DFSDM_FILTER_EXT_TRIG_TIM10_OC1 (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_1)
437#define DFSDM_FILTER_EXT_TRIG_TIM4_TRGO DFSDM_FLTCR1_JEXTSEL_2
438#define DFSDM_FILTER_EXT_TRIG_TIM6_TRGO (DFSDM_FLTCR1_JEXTSEL_0 | DFSDM_FLTCR1_JEXTSEL_2)
439#define DFSDM_FILTER_EXT_TRIG_EXTI11 (DFSDM_FLTCR1_JEXTSEL_1 | DFSDM_FLTCR1_JEXTSEL_2)
440#define DFSDM_FILTER_EXT_TRIG_EXTI15 DFSDM_FLTCR1_JEXTSEL
449#define DFSDM_FILTER_EXT_TRIG_RISING_EDGE DFSDM_FLTCR1_JEXTEN_0
450#define DFSDM_FILTER_EXT_TRIG_FALLING_EDGE DFSDM_FLTCR1_JEXTEN_1
451#define DFSDM_FILTER_EXT_TRIG_BOTH_EDGES DFSDM_FLTCR1_JEXTEN
459#define DFSDM_FILTER_FASTSINC_ORDER 0x00000000U
460#define DFSDM_FILTER_SINC1_ORDER DFSDM_FLTFCR_FORD_0
461#define DFSDM_FILTER_SINC2_ORDER DFSDM_FLTFCR_FORD_1
462#define DFSDM_FILTER_SINC3_ORDER (DFSDM_FLTFCR_FORD_0 | DFSDM_FLTFCR_FORD_1)
463#define DFSDM_FILTER_SINC4_ORDER DFSDM_FLTFCR_FORD_2
464#define DFSDM_FILTER_SINC5_ORDER (DFSDM_FLTFCR_FORD_0 | DFSDM_FLTFCR_FORD_2)
472#define DFSDM_FILTER_AWD_FILTER_DATA 0x00000000U
473#define DFSDM_FILTER_AWD_CHANNEL_DATA DFSDM_FLTCR1_AWFSEL
481#define DFSDM_FILTER_ERROR_NONE 0x00000000U
482#define DFSDM_FILTER_ERROR_REGULAR_OVERRUN 0x00000001U
483#define DFSDM_FILTER_ERROR_INJECTED_OVERRUN 0x00000002U
484#define DFSDM_FILTER_ERROR_DMA 0x00000003U
485#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
486#define DFSDM_FILTER_ERROR_INVALID_CALLBACK 0x00000004U
495#define DFSDM_NO_BREAK_SIGNAL 0x00000000U
496#define DFSDM_BREAK_SIGNAL_0 0x00000001U
497#define DFSDM_BREAK_SIGNAL_1 0x00000002U
498#define DFSDM_BREAK_SIGNAL_2 0x00000004U
499#define DFSDM_BREAK_SIGNAL_3 0x00000008U
515#define DFSDM_CHANNEL_0 0x00000001U
516#define DFSDM_CHANNEL_1 0x00010002U
517#define DFSDM_CHANNEL_2 0x00020004U
518#define DFSDM_CHANNEL_3 0x00030008U
519#define DFSDM_CHANNEL_4 0x00040010U
520#define DFSDM_CHANNEL_5 0x00050020U
521#define DFSDM_CHANNEL_6 0x00060040U
522#define DFSDM_CHANNEL_7 0x00070080U
530#define DFSDM_CONTINUOUS_CONV_OFF 0x00000000U
531#define DFSDM_CONTINUOUS_CONV_ON 0x00000001U
539#define DFSDM_AWD_HIGH_THRESHOLD 0x00000000U
540#define DFSDM_AWD_LOW_THRESHOLD 0x00000001U
545#if defined(SYSCFG_MCHDLYCR_BSCKSEL)
549#define DFSDM1_CKOUT_DFSDM2_CKOUT 0x00000080U
550#define DFSDM1_CKOUT_DFSDM1 0x00000000U
558#define DFSDM2_CKOUT_DFSDM2_CKOUT 0x00040000U
559#define DFSDM2_CKOUT_DFSDM2 0x00000000U
567#define DFSDM1_CKIN_DFSDM2_CKOUT 0x00000040U
568#define DFSDM1_CKIN_PAD 0x00000000U
576#define DFSDM2_CKIN_DFSDM2_CKOUT 0x00020000U
577#define DFSDM2_CKIN_PAD 0x00000000U
585#define DFSDM1_T4_OC2_BITSTREAM_CKIN0 0x00000000U
586#define DFSDM1_T4_OC2_BITSTREAM_CKIN2 SYSCFG_MCHDLYCR_DFSDM1CK02SEL
587#define DFSDM1_T4_OC1_BITSTREAM_CKIN3 SYSCFG_MCHDLYCR_DFSDM1CK13SEL
588#define DFSDM1_T4_OC1_BITSTREAM_CKIN1 0x00000000U
596#define DFSDM2_T3_OC4_BITSTREAM_CKIN0 0x00000000U
597#define DFSDM2_T3_OC4_BITSTREAM_CKIN4 SYSCFG_MCHDLYCR_DFSDM2CK04SEL
598#define DFSDM2_T3_OC3_BITSTREAM_CKIN5 SYSCFG_MCHDLYCR_DFSDM2CK15SEL
599#define DFSDM2_T3_OC3_BITSTREAM_CKIN1 0x00000000U
600#define DFSDM2_T3_OC2_BITSTREAM_CKIN6 SYSCFG_MCHDLYCR_DFSDM2CK26SEL
601#define DFSDM2_T3_OC2_BITSTREAM_CKIN2 0x00000000U
602#define DFSDM2_T3_OC1_BITSTREAM_CKIN3 0x00000000U
603#define DFSDM2_T3_OC1_BITSTREAM_CKIN7 SYSCFG_MCHDLYCR_DFSDM2CK37SEL
611#define DFSDM1_DATIN0_TO_DATIN0_PAD 0x00000000U
612#define DFSDM1_DATIN0_TO_DATIN1_PAD SYSCFG_MCHDLYCR_DFSDM1D0SEL
613#define DFSDM1_DATIN2_TO_DATIN2_PAD 0x00000000U
614#define DFSDM1_DATIN2_TO_DATIN3_PAD SYSCFG_MCHDLYCR_DFSDM1D2SEL
622#define DFSDM2_DATIN0_TO_DATIN0_PAD 0x00000000U
623#define DFSDM2_DATIN0_TO_DATIN1_PAD SYSCFG_MCHDLYCR_DFSDM2D0SEL
624#define DFSDM2_DATIN2_TO_DATIN2_PAD 0x00000000U
625#define DFSDM2_DATIN2_TO_DATIN3_PAD SYSCFG_MCHDLYCR_DFSDM2D2SEL
626#define DFSDM2_DATIN4_TO_DATIN4_PAD 0x00000000U
627#define DFSDM2_DATIN4_TO_DATIN5_PAD SYSCFG_MCHDLYCR_DFSDM2D4SEL
628#define DFSDM2_DATIN6_TO_DATIN6_PAD 0x00000000U
629#define DFSDM2_DATIN6_TO_DATIN7_PAD SYSCFG_MCHDLYCR_DFSDM2D6SEL
637#define HAL_MCHDLY_CLOCK_DFSDM2 SYSCFG_MCHDLYCR_MCHDLY2EN
638#define HAL_MCHDLY_CLOCK_DFSDM1 SYSCFG_MCHDLYCR_MCHDLY1EN
646#define HAL_DFSDM2_CKIN_PAD 0x00040000U
647#define HAL_DFSDM2_CKIN_DM SYSCFG_MCHDLYCR_DFSDM2CFG
648#define HAL_DFSDM1_CKIN_PAD 0x00000000U
649#define HAL_DFSDM1_CKIN_DM SYSCFG_MCHDLYCR_DFSDM1CFG
657#define HAL_DFSDM2_CKOUT_DFSDM2 0x10000000U
658#define HAL_DFSDM2_CKOUT_M27 SYSCFG_MCHDLYCR_DFSDM2CKOSEL
659#define HAL_DFSDM1_CKOUT_DFSDM1 0x00000000U
660#define HAL_DFSDM1_CKOUT_M27 SYSCFG_MCHDLYCR_DFSDM1CKOSEL
668#define HAL_DATAIN0_DFSDM2_PAD 0x10000000U
669#define HAL_DATAIN0_DFSDM2_DATAIN1 SYSCFG_MCHDLYCR_DFSDM2D0SEL
670#define HAL_DATAIN0_DFSDM1_PAD 0x00000000U
671#define HAL_DATAIN0_DFSDM1_DATAIN1 SYSCFG_MCHDLYCR_DFSDM1D0SEL
679#define HAL_DATAIN2_DFSDM2_PAD 0x10000000U
680#define HAL_DATAIN2_DFSDM2_DATAIN3 SYSCFG_MCHDLYCR_DFSDM2D2SEL
681#define HAL_DATAIN2_DFSDM1_PAD 0x00000000U
682#define HAL_DATAIN2_DFSDM1_DATAIN3 SYSCFG_MCHDLYCR_DFSDM1D2SEL
690#define HAL_DATAIN4_DFSDM2_PAD 0x00000000U
691#define HAL_DATAIN4_DFSDM2_DATAIN5 SYSCFG_MCHDLYCR_DFSDM2D4SEL
699#define HAL_DATAIN6_DFSDM2_PAD 0x00000000U
700#define HAL_DATAIN6_DFSDM2_DATAIN7 SYSCFG_MCHDLYCR_DFSDM2D6SEL
708#define HAL_DFSDM1_CLKIN0_TIM4OC2 0x01000000U
709#define HAL_DFSDM1_CLKIN2_TIM4OC2 SYSCFG_MCHDLYCR_DFSDM1CK02SEL
710#define HAL_DFSDM1_CLKIN1_TIM4OC1 0x02000000U
711#define HAL_DFSDM1_CLKIN3_TIM4OC1 SYSCFG_MCHDLYCR_DFSDM1CK13SEL
719#define HAL_DFSDM2_CLKIN0_TIM3OC4 0x04000000U
720#define HAL_DFSDM2_CLKIN4_TIM3OC4 SYSCFG_MCHDLYCR_DFSDM2CK04SEL
721#define HAL_DFSDM2_CLKIN1_TIM3OC3 0x08000000U
722#define HAL_DFSDM2_CLKIN5_TIM3OC3 SYSCFG_MCHDLYCR_DFSDM2CK15SEL
723#define HAL_DFSDM2_CLKIN2_TIM3OC2 0x10000000U
724#define HAL_DFSDM2_CLKIN6_TIM3OC2 SYSCFG_MCHDLYCR_DFSDM2CK26SEL
725#define HAL_DFSDM2_CLKIN3_TIM3OC1 0x00000000U
726#define HAL_DFSDM2_CLKIN7_TIM3OC1 SYSCFG_MCHDLYCR_DFSDM2CK37SEL
746#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
747#define __HAL_DFSDM_CHANNEL_RESET_HANDLE_STATE(__HANDLE__) do{ \
748 (__HANDLE__)->State = HAL_DFSDM_CHANNEL_STATE_RESET; \
749 (__HANDLE__)->MspInitCallback = NULL; \
750 (__HANDLE__)->MspDeInitCallback = NULL; \
753#define __HAL_DFSDM_CHANNEL_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DFSDM_CHANNEL_STATE_RESET)
760#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
761#define __HAL_DFSDM_FILTER_RESET_HANDLE_STATE(__HANDLE__) do{ \
762 (__HANDLE__)->State = HAL_DFSDM_FILTER_STATE_RESET; \
763 (__HANDLE__)->MspInitCallback = NULL; \
764 (__HANDLE__)->MspDeInitCallback = NULL; \
767#define __HAL_DFSDM_FILTER_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DFSDM_FILTER_STATE_RESET)
784HAL_StatusTypeDef HAL_DFSDM_ChannelInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
785HAL_StatusTypeDef HAL_DFSDM_ChannelDeInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
786void HAL_DFSDM_ChannelMspInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
787void HAL_DFSDM_ChannelMspDeInit(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
788#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
790HAL_StatusTypeDef HAL_DFSDM_Channel_RegisterCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel,
791 HAL_DFSDM_Channel_CallbackIDTypeDef CallbackID,
792 pDFSDM_Channel_CallbackTypeDef pCallback);
793HAL_StatusTypeDef HAL_DFSDM_Channel_UnRegisterCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel,
794 HAL_DFSDM_Channel_CallbackIDTypeDef CallbackID);
804HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStart(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
805HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStart_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
806HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStop(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
807HAL_StatusTypeDef HAL_DFSDM_ChannelCkabStop_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
809HAL_StatusTypeDef HAL_DFSDM_ChannelScdStart(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, uint32_t Threshold, uint32_t BreakSignal);
810HAL_StatusTypeDef HAL_DFSDM_ChannelScdStart_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, uint32_t Threshold, uint32_t BreakSignal);
811HAL_StatusTypeDef HAL_DFSDM_ChannelScdStop(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
812HAL_StatusTypeDef HAL_DFSDM_ChannelScdStop_IT(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
814int16_t HAL_DFSDM_ChannelGetAwdValue(
const DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
815HAL_StatusTypeDef HAL_DFSDM_ChannelModifyOffset(DFSDM_Channel_HandleTypeDef *hdfsdm_channel, int32_t Offset);
817HAL_StatusTypeDef HAL_DFSDM_ChannelPollForCkab(
const DFSDM_Channel_HandleTypeDef *hdfsdm_channel, uint32_t Timeout);
818HAL_StatusTypeDef HAL_DFSDM_ChannelPollForScd(
const DFSDM_Channel_HandleTypeDef *hdfsdm_channel, uint32_t Timeout);
820void HAL_DFSDM_ChannelCkabCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
821void HAL_DFSDM_ChannelScdCallback(DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
830HAL_DFSDM_Channel_StateTypeDef HAL_DFSDM_ChannelGetState(
const DFSDM_Channel_HandleTypeDef *hdfsdm_channel);
839HAL_StatusTypeDef HAL_DFSDM_FilterInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
840HAL_StatusTypeDef HAL_DFSDM_FilterDeInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
841void HAL_DFSDM_FilterMspInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
842void HAL_DFSDM_FilterMspDeInit(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
843#if (USE_HAL_DFSDM_REGISTER_CALLBACKS == 1)
845HAL_StatusTypeDef HAL_DFSDM_Filter_RegisterCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter,
846 HAL_DFSDM_Filter_CallbackIDTypeDef CallbackID,
847 pDFSDM_Filter_CallbackTypeDef pCallback);
848HAL_StatusTypeDef HAL_DFSDM_Filter_UnRegisterCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter,
849 HAL_DFSDM_Filter_CallbackIDTypeDef CallbackID);
850HAL_StatusTypeDef HAL_DFSDM_Filter_RegisterAwdCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter,
851 pDFSDM_Filter_AwdCallbackTypeDef pCallback);
852HAL_StatusTypeDef HAL_DFSDM_Filter_UnRegisterAwdCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
862HAL_StatusTypeDef HAL_DFSDM_FilterConfigRegChannel(DFSDM_Filter_HandleTypeDef *hdfsdm_filter,
864 uint32_t ContinuousMode);
865HAL_StatusTypeDef HAL_DFSDM_FilterConfigInjChannel(DFSDM_Filter_HandleTypeDef *hdfsdm_filter,
875HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
876HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
877HAL_StatusTypeDef HAL_DFSDM_FilterRegularStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int32_t *pData, uint32_t Length);
878HAL_StatusTypeDef HAL_DFSDM_FilterRegularMsbStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int16_t *pData, uint32_t Length);
879HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
880HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
881HAL_StatusTypeDef HAL_DFSDM_FilterRegularStop_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
882HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
883HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
884HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int32_t *pData, uint32_t Length);
885HAL_StatusTypeDef HAL_DFSDM_FilterInjectedMsbStart_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, int16_t *pData, uint32_t Length);
886HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
887HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
888HAL_StatusTypeDef HAL_DFSDM_FilterInjectedStop_DMA(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
889HAL_StatusTypeDef HAL_DFSDM_FilterAwdStart_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter,
890 const DFSDM_Filter_AwdParamTypeDef* awdParam);
891HAL_StatusTypeDef HAL_DFSDM_FilterAwdStop_IT(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
892HAL_StatusTypeDef HAL_DFSDM_FilterExdStart(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Channel);
893HAL_StatusTypeDef HAL_DFSDM_FilterExdStop(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
895int32_t HAL_DFSDM_FilterGetRegularValue(
const DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t* Channel);
896int32_t HAL_DFSDM_FilterGetInjectedValue(
const DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t* Channel);
897int32_t HAL_DFSDM_FilterGetExdMaxValue(
const DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t* Channel);
898int32_t HAL_DFSDM_FilterGetExdMinValue(
const DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t* Channel);
899uint32_t HAL_DFSDM_FilterGetConvTimeValue(
const DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
901void HAL_DFSDM_IRQHandler(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
903HAL_StatusTypeDef HAL_DFSDM_FilterPollForRegConversion(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Timeout);
904HAL_StatusTypeDef HAL_DFSDM_FilterPollForInjConversion(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Timeout);
906void HAL_DFSDM_FilterRegConvCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
907void HAL_DFSDM_FilterRegConvHalfCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
908void HAL_DFSDM_FilterInjConvCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
909void HAL_DFSDM_FilterInjConvHalfCpltCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
910void HAL_DFSDM_FilterAwdCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter, uint32_t Channel, uint32_t Threshold);
911void HAL_DFSDM_FilterErrorCallback(DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
920HAL_DFSDM_Filter_StateTypeDef HAL_DFSDM_FilterGetState(
const DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
921uint32_t HAL_DFSDM_FilterGetError(
const DFSDM_Filter_HandleTypeDef *hdfsdm_filter);
928#if defined(SYSCFG_MCHDLYCR_BSCKSEL)
929void HAL_DFSDM_ConfigMultiChannelDelay(DFSDM_MultiChannelConfigTypeDef* mchdlystruct);
930void HAL_DFSDM_BitstreamClock_Start(
void);
931void HAL_DFSDM_BitstreamClock_Stop(
void);
932void HAL_DFSDM_DisableDelayClock(uint32_t MCHDLY);
933void HAL_DFSDM_EnableDelayClock(uint32_t MCHDLY);
934void HAL_DFSDM_ClockIn_SourceSelection(uint32_t source);
935void HAL_DFSDM_ClockOut_SourceSelection(uint32_t source);
936void HAL_DFSDM_DataIn0_SourceSelection(uint32_t source);
937void HAL_DFSDM_DataIn2_SourceSelection(uint32_t source);
938void HAL_DFSDM_DataIn4_SourceSelection(uint32_t source);
939void HAL_DFSDM_DataIn6_SourceSelection(uint32_t source);
940void HAL_DFSDM_BitStreamClkDistribution_Config(uint32_t source);
954#define IS_DFSDM_CHANNEL_OUTPUT_CLOCK(CLOCK) (((CLOCK) == DFSDM_CHANNEL_OUTPUT_CLOCK_SYSTEM) || \
955 ((CLOCK) == DFSDM_CHANNEL_OUTPUT_CLOCK_AUDIO))
956#define IS_DFSDM_CHANNEL_OUTPUT_CLOCK_DIVIDER(DIVIDER) ((2U <= (DIVIDER)) && ((DIVIDER) <= 256U))
957#define IS_DFSDM_CHANNEL_INPUT(INPUT) (((INPUT) == DFSDM_CHANNEL_EXTERNAL_INPUTS) || \
958 ((INPUT) == DFSDM_CHANNEL_INTERNAL_REGISTER))
959#define IS_DFSDM_CHANNEL_DATA_PACKING(MODE) (((MODE) == DFSDM_CHANNEL_STANDARD_MODE) || \
960 ((MODE) == DFSDM_CHANNEL_INTERLEAVED_MODE) || \
961 ((MODE) == DFSDM_CHANNEL_DUAL_MODE))
962#define IS_DFSDM_CHANNEL_INPUT_PINS(PINS) (((PINS) == DFSDM_CHANNEL_SAME_CHANNEL_PINS) || \
963 ((PINS) == DFSDM_CHANNEL_FOLLOWING_CHANNEL_PINS))
964#define IS_DFSDM_CHANNEL_SERIAL_INTERFACE_TYPE(MODE) (((MODE) == DFSDM_CHANNEL_SPI_RISING) || \
965 ((MODE) == DFSDM_CHANNEL_SPI_FALLING) || \
966 ((MODE) == DFSDM_CHANNEL_MANCHESTER_RISING) || \
967 ((MODE) == DFSDM_CHANNEL_MANCHESTER_FALLING))
968#define IS_DFSDM_CHANNEL_SPI_CLOCK(TYPE) (((TYPE) == DFSDM_CHANNEL_SPI_CLOCK_EXTERNAL) || \
969 ((TYPE) == DFSDM_CHANNEL_SPI_CLOCK_INTERNAL) || \
970 ((TYPE) == DFSDM_CHANNEL_SPI_CLOCK_INTERNAL_DIV2_FALLING) || \
971 ((TYPE) == DFSDM_CHANNEL_SPI_CLOCK_INTERNAL_DIV2_RISING))
972#define IS_DFSDM_CHANNEL_FILTER_ORDER(ORDER) (((ORDER) == DFSDM_CHANNEL_FASTSINC_ORDER) || \
973 ((ORDER) == DFSDM_CHANNEL_SINC1_ORDER) || \
974 ((ORDER) == DFSDM_CHANNEL_SINC2_ORDER) || \
975 ((ORDER) == DFSDM_CHANNEL_SINC3_ORDER))
976#define IS_DFSDM_CHANNEL_FILTER_OVS_RATIO(RATIO) ((1U <= (RATIO)) && ((RATIO) <= 32U))
977#define IS_DFSDM_CHANNEL_OFFSET(VALUE) ((-8388608 <= (VALUE)) && ((VALUE) <= 8388607))
978#define IS_DFSDM_CHANNEL_RIGHT_BIT_SHIFT(VALUE) ((VALUE) <= 0x1FU)
979#define IS_DFSDM_CHANNEL_SCD_THRESHOLD(VALUE) ((VALUE) <= 0xFFU)
980#define IS_DFSDM_FILTER_REG_TRIGGER(TRIG) (((TRIG) == DFSDM_FILTER_SW_TRIGGER) || \
981 ((TRIG) == DFSDM_FILTER_SYNC_TRIGGER))
982#define IS_DFSDM_FILTER_INJ_TRIGGER(TRIG) (((TRIG) == DFSDM_FILTER_SW_TRIGGER) || \
983 ((TRIG) == DFSDM_FILTER_SYNC_TRIGGER) || \
984 ((TRIG) == DFSDM_FILTER_EXT_TRIGGER))
985#if defined (STM32F413xx) || defined (STM32F423xx)
986#define IS_DFSDM_FILTER_EXT_TRIG(TRIG) (((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM1_TRGO) || \
987 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM3_TRGO) || \
988 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM8_TRGO) || \
989 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM10_OC1) || \
990 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM2_TRGO) || \
991 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM4_TRGO) || \
992 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM11_OC1) || \
993 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM6_TRGO) || \
994 ((TRIG) == DFSDM_FILTER_EXT_TRIG_EXTI11) || \
995 ((TRIG) == DFSDM_FILTER_EXT_TRIG_EXTI15))
996#define IS_DFSDM_DELAY_CLOCK(CLOCK) (((CLOCK) == HAL_MCHDLY_CLOCK_DFSDM2) || \
997 ((CLOCK) == HAL_MCHDLY_CLOCK_DFSDM1))
999#define IS_DFSDM_FILTER_EXT_TRIG(TRIG) (((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM1_TRGO) || \
1000 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM3_TRGO) || \
1001 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM8_TRGO) || \
1002 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM10_OC1) || \
1003 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM4_TRGO) || \
1004 ((TRIG) == DFSDM_FILTER_EXT_TRIG_TIM6_TRGO) || \
1005 ((TRIG) == DFSDM_FILTER_EXT_TRIG_EXTI11) || \
1006 ((TRIG) == DFSDM_FILTER_EXT_TRIG_EXTI15))
1008#define IS_DFSDM_FILTER_EXT_TRIG_EDGE(EDGE) (((EDGE) == DFSDM_FILTER_EXT_TRIG_RISING_EDGE) || \
1009 ((EDGE) == DFSDM_FILTER_EXT_TRIG_FALLING_EDGE) || \
1010 ((EDGE) == DFSDM_FILTER_EXT_TRIG_BOTH_EDGES))
1011#define IS_DFSDM_FILTER_SINC_ORDER(ORDER) (((ORDER) == DFSDM_FILTER_FASTSINC_ORDER) || \
1012 ((ORDER) == DFSDM_FILTER_SINC1_ORDER) || \
1013 ((ORDER) == DFSDM_FILTER_SINC2_ORDER) || \
1014 ((ORDER) == DFSDM_FILTER_SINC3_ORDER) || \
1015 ((ORDER) == DFSDM_FILTER_SINC4_ORDER) || \
1016 ((ORDER) == DFSDM_FILTER_SINC5_ORDER))
1017#define IS_DFSDM_FILTER_OVS_RATIO(RATIO) ((1U <= (RATIO)) && ((RATIO) <= 1024U))
1018#define IS_DFSDM_FILTER_INTEGRATOR_OVS_RATIO(RATIO) ((1U <= (RATIO)) && ((RATIO) <= 256U))
1019#define IS_DFSDM_FILTER_AWD_DATA_SOURCE(DATA) (((DATA) == DFSDM_FILTER_AWD_FILTER_DATA) || \
1020 ((DATA) == DFSDM_FILTER_AWD_CHANNEL_DATA))
1021#define IS_DFSDM_FILTER_AWD_THRESHOLD(VALUE) ((-8388608 <= (VALUE)) && ((VALUE) <= 8388607))
1022#define IS_DFSDM_BREAK_SIGNALS(VALUE) ((VALUE) <= 0x0FU)
1023#if defined(DFSDM2_Channel0)
1024#define IS_DFSDM_REGULAR_CHANNEL(CHANNEL) (((CHANNEL) == DFSDM_CHANNEL_0) || \
1025 ((CHANNEL) == DFSDM_CHANNEL_1) || \
1026 ((CHANNEL) == DFSDM_CHANNEL_2) || \
1027 ((CHANNEL) == DFSDM_CHANNEL_3) || \
1028 ((CHANNEL) == DFSDM_CHANNEL_4) || \
1029 ((CHANNEL) == DFSDM_CHANNEL_5) || \
1030 ((CHANNEL) == DFSDM_CHANNEL_6) || \
1031 ((CHANNEL) == DFSDM_CHANNEL_7))
1032#define IS_DFSDM_INJECTED_CHANNEL(CHANNEL) (((CHANNEL) != 0U) && ((CHANNEL) <= 0x000F00FFU))
1034#define IS_DFSDM_REGULAR_CHANNEL(CHANNEL) (((CHANNEL) == DFSDM_CHANNEL_0) || \
1035 ((CHANNEL) == DFSDM_CHANNEL_1) || \
1036 ((CHANNEL) == DFSDM_CHANNEL_2) || \
1037 ((CHANNEL) == DFSDM_CHANNEL_3))
1038#define IS_DFSDM_INJECTED_CHANNEL(CHANNEL) (((CHANNEL) != 0U) && ((CHANNEL) <= 0x0003000FU))
1040#define IS_DFSDM_CONTINUOUS_MODE(MODE) (((MODE) == DFSDM_CONTINUOUS_CONV_OFF) || \
1041 ((MODE) == DFSDM_CONTINUOUS_CONV_ON))
1042#if defined(DFSDM2_Channel0)
1043#define IS_DFSDM1_CHANNEL_INSTANCE(INSTANCE) (((INSTANCE) == DFSDM1_Channel0) || \
1044 ((INSTANCE) == DFSDM1_Channel1) || \
1045 ((INSTANCE) == DFSDM1_Channel2) || \
1046 ((INSTANCE) == DFSDM1_Channel3))
1047#define IS_DFSDM1_FILTER_INSTANCE(INSTANCE) (((INSTANCE) == DFSDM1_Filter0) || \
1048 ((INSTANCE) == DFSDM1_Filter1))
1051#if defined(SYSCFG_MCHDLYCR_BSCKSEL)
1052#define IS_DFSDM_CLOCKIN_SELECTION(SELECTION) (((SELECTION) == HAL_DFSDM2_CKIN_PAD) || \
1053 ((SELECTION) == HAL_DFSDM2_CKIN_DM) || \
1054 ((SELECTION) == HAL_DFSDM1_CKIN_PAD) || \
1055 ((SELECTION) == HAL_DFSDM1_CKIN_DM))
1056#define IS_DFSDM_CLOCKOUT_SELECTION(SELECTION) (((SELECTION) == HAL_DFSDM2_CKOUT_DFSDM2) || \
1057 ((SELECTION) == HAL_DFSDM2_CKOUT_M27) || \
1058 ((SELECTION) == HAL_DFSDM1_CKOUT_DFSDM1) || \
1059 ((SELECTION) == HAL_DFSDM1_CKOUT_M27))
1060#define IS_DFSDM_DATAIN0_SRC_SELECTION(SELECTION) (((SELECTION) == HAL_DATAIN0_DFSDM2_PAD) || \
1061 ((SELECTION) == HAL_DATAIN0_DFSDM2_DATAIN1) || \
1062 ((SELECTION) == HAL_DATAIN0_DFSDM1_PAD) || \
1063 ((SELECTION) == HAL_DATAIN0_DFSDM1_DATAIN1))
1064#define IS_DFSDM_DATAIN2_SRC_SELECTION(SELECTION) (((SELECTION) == HAL_DATAIN2_DFSDM2_PAD) || \
1065 ((SELECTION) == HAL_DATAIN2_DFSDM2_DATAIN3) || \
1066 ((SELECTION) == HAL_DATAIN2_DFSDM1_PAD) || \
1067 ((SELECTION) == HAL_DATAIN2_DFSDM1_DATAIN3))
1068#define IS_DFSDM_DATAIN4_SRC_SELECTION(SELECTION) (((SELECTION) == HAL_DATAIN4_DFSDM2_PAD) || \
1069 ((SELECTION) == HAL_DATAIN4_DFSDM2_DATAIN5))
1070#define IS_DFSDM_DATAIN6_SRC_SELECTION(SELECTION) (((SELECTION) == HAL_DATAIN6_DFSDM2_PAD) || \
1071 ((SELECTION) == HAL_DATAIN6_DFSDM2_DATAIN7))
1072#define IS_DFSDM_BITSTREM_CLK_DISTRIBUTION(DISTRIBUTION) (((DISTRIBUTION) == HAL_DFSDM1_CLKIN0_TIM4OC2) || \
1073 ((DISTRIBUTION) == HAL_DFSDM1_CLKIN2_TIM4OC2) || \
1074 ((DISTRIBUTION) == HAL_DFSDM1_CLKIN1_TIM4OC1) || \
1075 ((DISTRIBUTION) == HAL_DFSDM1_CLKIN3_TIM4OC1) || \
1076 ((DISTRIBUTION) == HAL_DFSDM2_CLKIN0_TIM3OC4) || \
1077 ((DISTRIBUTION) == HAL_DFSDM2_CLKIN4_TIM3OC4) || \
1078 ((DISTRIBUTION) == HAL_DFSDM2_CLKIN1_TIM3OC3)|| \
1079 ((DISTRIBUTION) == HAL_DFSDM2_CLKIN5_TIM3OC3) || \
1080 ((DISTRIBUTION) == HAL_DFSDM2_CLKIN2_TIM3OC2) || \
1081 ((DISTRIBUTION) == HAL_DFSDM2_CLKIN6_TIM3OC2) || \
1082 ((DISTRIBUTION) == HAL_DFSDM2_CLKIN3_TIM3OC1)|| \
1083 ((DISTRIBUTION) == HAL_DFSDM2_CLKIN7_TIM3OC1))
1084#define IS_DFSDM_DFSDM1_CLKOUT(CLKOUT) (((CLKOUT) == DFSDM1_CKOUT_DFSDM2_CKOUT) || \
1085 ((CLKOUT) == DFSDM1_CKOUT_DFSDM1))
1086#define IS_DFSDM_DFSDM2_CLKOUT(CLKOUT) (((CLKOUT) == DFSDM2_CKOUT_DFSDM2_CKOUT) || \
1087 ((CLKOUT) == DFSDM2_CKOUT_DFSDM2))
1088#define IS_DFSDM_DFSDM1_CLKIN(CLKIN) (((CLKIN) == DFSDM1_CKIN_DFSDM2_CKOUT) || \
1089 ((CLKIN) == DFSDM1_CKIN_PAD))
1090#define IS_DFSDM_DFSDM2_CLKIN(CLKIN) (((CLKIN) == DFSDM2_CKIN_DFSDM2_CKOUT) || \
1091 ((CLKIN) == DFSDM2_CKIN_PAD))
1092#define IS_DFSDM_DFSDM1_BIT_CLK(CLK) (((CLK) == DFSDM1_T4_OC2_BITSTREAM_CKIN0) || \
1093 ((CLK) == DFSDM1_T4_OC2_BITSTREAM_CKIN2) || \
1094 ((CLK) == DFSDM1_T4_OC1_BITSTREAM_CKIN3) || \
1095 ((CLK) == DFSDM1_T4_OC1_BITSTREAM_CKIN1) || \
1098#define IS_DFSDM_DFSDM2_BIT_CLK(CLK) (((CLK) == DFSDM2_T3_OC4_BITSTREAM_CKIN0) || \
1099 ((CLK) == DFSDM2_T3_OC4_BITSTREAM_CKIN4) || \
1100 ((CLK) == DFSDM2_T3_OC3_BITSTREAM_CKIN5) || \
1101 ((CLK) == DFSDM2_T3_OC3_BITSTREAM_CKIN1) || \
1102 ((CLK) == DFSDM2_T3_OC2_BITSTREAM_CKIN6) || \
1103 ((CLK) == DFSDM2_T3_OC2_BITSTREAM_CKIN2) || \
1104 ((CLK) == DFSDM2_T3_OC1_BITSTREAM_CKIN3) || \
1105 ((CLK) == DFSDM2_T3_OC1_BITSTREAM_CKIN7)|| \
1106 ((CLK) <= 0x1E000U))
1108#define IS_DFSDM_DFSDM1_DATA_DISTRIBUTION(DISTRIBUTION)(((DISTRIBUTION) == DFSDM1_DATIN0_TO_DATIN0_PAD )|| \
1109 ((DISTRIBUTION) == DFSDM1_DATIN0_TO_DATIN1_PAD) || \
1110 ((DISTRIBUTION) == DFSDM1_DATIN2_TO_DATIN2_PAD) || \
1111 ((DISTRIBUTION) == DFSDM1_DATIN2_TO_DATIN3_PAD)|| \
1112 ((DISTRIBUTION) <= 0xCU))
1114#define IS_DFSDM_DFSDM2_DATA_DISTRIBUTION(DISTRIBUTION)(((DISTRIBUTION) == DFSDM2_DATIN0_TO_DATIN0_PAD)|| \
1115 ((DISTRIBUTION) == DFSDM2_DATIN0_TO_DATIN1_PAD)|| \
1116 ((DISTRIBUTION) == DFSDM2_DATIN2_TO_DATIN2_PAD)|| \
1117 ((DISTRIBUTION) == DFSDM2_DATIN2_TO_DATIN3_PAD)|| \
1118 ((DISTRIBUTION) == DFSDM2_DATIN4_TO_DATIN4_PAD)|| \
1119 ((DISTRIBUTION) == DFSDM2_DATIN4_TO_DATIN5_PAD)|| \
1120 ((DISTRIBUTION) == DFSDM2_DATIN6_TO_DATIN6_PAD)|| \
1121 ((DISTRIBUTION) == DFSDM2_DATIN6_TO_DATIN7_PAD)|| \
1122 ((DISTRIBUTION) <= 0x1D00U))
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition
DMA handle Structure definition.